Agentvibes
Now your AI Agents can finally talk back! Professional TTS voice for Claude Code, Claude Desktop (via MCP), and Clawdbot with multi-provider support.
Ask AI about Agentvibes
Powered by Claude ยท Grounded in docs
I know everything about Agentvibes. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
๐ค AgentVibes
Finally! Your agents can talk back!
๐ agentvibes.org
Professional text-to-speech for Claude Code, Claude Desktop, Warp Terminal, and OpenClaw - Soprano (Neural), Piper TTS (Free!), macOS Say (Built-in!), or Windows SAPI (Zero Setup!)
Author: Paul Preibisch (@997Fire) | Version: v5.6.4
๐ Quick Links
| I want to... | Go here |
|---|---|
Install AgentVibes (just npx, no git!) | Quick Start Guide |
| Run Claude Code on Android | Android/Termux Setup |
| Secure OpenClaw on Remote Server | Security Hardening Guide โ ๏ธ |
| Understand what I need | Prerequisites |
| Set up on Windows (Native) | Windows Native Setup |
| Set up on Windows (Claude Desktop/WSL) | Windows WSL Guide |
| Use with OpenClaw | OpenClaw Integration |
| Use natural language | MCP Setup |
| Switch voices | Voice Library |
| Fix issues (git-lfs? MCP tokens? Read this!) | Troubleshooting & FAQ |
โจ What is AgentVibes?
AgentVibes adds lively voice narration to your AI coding sessions!
Whether you're coding in Claude Code, chatting in Claude Desktop, using Warp Terminal, or running OpenClaw - AgentVibes brings AI to life with professional voices and personalities.
๐ NEW IN v5.6.4 โ Critical Uninstall Safety Fix
uninstall --global was removing your entire ~/.claude/ directory โ settings, CLAUDE.md, skills, MCP configs, everything. Fixed: AgentVibes now performs a surgical removal, only touching files it created. A regression test in CI enforces this going forward โ if it ever regresses, the build breaks before it ships.
v5.6.3 โ Hermes + Easier Remote Setup
AgentVibes now works with Hermes โ one of the most popular open-source AI agents on GitHub (21,000+ stars). When Hermes finishes a response, AgentVibes speaks it aloud through your speakers automatically.
When you configure any LLM in AgentVibes (Claude Code, Copilot, Codex, or Hermes), you can set a unique voice, reverb style, background music, and intro prefix for each one โ so every AI sounds distinct. New in this version: you can also set the audio destination per LLM. Choose Local to play through the computer you're on, or Remote to send audio to a different machine (your laptop, for example) while you work on a remote server.
Setting up remote audio used to require typing an SSH path by hand. Now there's a dropdown menu right in the AgentVibes TUI that reads your existing SSH aliases โ just pick the one that points to your speakers and you're done. Develop on a remote server or run Hermes in the cloud, and the voice comes out of your laptop speakers without any manual configuration.
v5.6.2 โ Per-Message Audio Control
Remote senders (Hermes, SSH remote provider) can now control voice, music, reverb, and volume per message โ no persistent config changes needed. Pass any field in the JSON payload and the Windows receiver applies it for that message only.
v5.6.1 โ Hermes Agent Integration
AgentVibes now speaks for Hermes Agent โ the self-hosted, self-improving AI assistant. Two production-ready skills ship in docs/hermes/skills/:
hermes-agentvibes-hookโ Auto-speaks every Hermes response via AgentVibes TTS. Fires onagent:end, strips markdown, rate-limits, and ships with full SSH MITM protectionagentvibes-targetโ Teaches Hermes to send any text to your speakers on demand, supporting laptop and Android targets
Also in this release: Windows PS5.1 compatibility fixes for play-tts.ps1, modal/hotkey repairs, and BMAD tab now shows all agents.
v5.5 โ Per-LLM Audio Routing
Give each LLM its own voice, pretext, and music โ Claude Code, Copilot, and Codex can all sound different without touching global settings.
- Add
llm:<name>|...|voice|pretext|enginerows toaudio-effects.cfg - MCP server auto-detects which LLM is calling and passes
--llm <key> - Configure via Setup tab โ Configure in the TUI
Also fixed: Windows installer crash (spinner.info is not a function) on reinstall with an older global AgentVibes install.
v5.4 โ TUI Installer, Spinner Fix & Dependency Cleanup
๐ค Voice Browser โ Browse, Sample & Install 914 Voices
Built right into the TUI โ accessible via Setup โ Configure โ Voice
- ๐ง Hear Before You Choose - Press Space to preview any voice instantly
- โญ Mark Your Favorites - Thumbs up/down with
+/- - ๐ Alpha Jump - Press any letter to jump to names starting with it
- ๐ฆ One-Click Select - Press Enter to set as your voice
- ๐จ Beautiful Interface - Stunning terminal UI built into AgentVibes
914 Total Voices:
- 904 High-Quality Piper TTS Speakers (libritts-high model)
- 10 Hand-Curated Personality Voices
๐ฌ Intro Text (Pretext) - Your Personal AI Branding
Add custom prefixes to every TTS announcement!
npx agentvibes config intro-text
Transform generic AI responses into your personal brand:
Before:
"Starting analysis of the codebase..."
After (with "FireBot: " intro text):
"FireBot: Starting analysis of the codebase..."
Perfect for:
- ๐ค Personal AI Branding - Make Claude sound like your custom assistant
- ๐ข Team Identity - Company bots with branded voices
- ๐ฎ Character Roleplay - Gaming assistants with character names
- ๐ Teaching Contexts - Professor Bot, Tutor AI, etc.
Features:
- Up to 50 characters
- UTF-8 and emoji support ๐
- Set during installation or anytime after
- Works with all TTS providers
- Applies to every single announcement
Examples:
"JARVIS: "- Iron Man style"๐ค Assistant: "- With emoji"CodeBot: "- Development assistant"Chef AI: "- Cooking helper
Configure now: npx agentvibes config intro-text
๐ต Custom Background Music - Complete Audio Control
Upload your own background music with battle-tested security!
npx agentvibes # press M for Music tab

Replace the default background tracks with your own audio files for complete sonic branding.
Supported Formats:
- ๐ต MP3 (.mp3)
- ๐ต WAV (.wav)
- ๐ต OGG (.ogg)
- ๐ต M4A (.m4a)
Security First:
- โ 180+ attack variations tested - Path traversal, symlinks, Unicode tricks
- โ 100% attack rejection rate - Every malicious attempt blocked
- โ OWASP CWE-22 compliant - Industry-standard security
- โ 7 validation layers - Defense-in-depth architecture
- โ File ownership verification - Only your files accepted
- โ Magic number validation - Real audio files only
- โ Secure storage - 600 permissions, restricted directory
Smart Validation:
- Recommended duration: 30-90 seconds (optimal looping)
- Maximum: 300 seconds (5 minutes)
- Maximum size: 50MB
- Automatic format detection
- Duration warnings for non-optimal lengths
Perfect for:
- ๐ธ Team Audio Branding - Company theme music
- ๐ฎ Gaming Sessions - Epic background tracks
- ๐ผ Personal Playlists - Your favorite instrumental
- ๐น Focus Music - Lo-fi, classical, ambient
Features:
- Preview before setting
- One-command upload
- Works with all TTS providers
- Loops seamlessly under voice
- Easy restore to defaults
Menu Options:
- Change music - Upload new audio file
- Remove music - Clear custom music
- Reset to default - Restore built-in tracks (16 genres)
- Enable/Disable - Toggle background music
- Preview current - Sample your music
Configure now: npx agentvibes config music
Security Certified: See full audit report at docs/security/SECURITY-AUDIT.md
๐ฏ Key Features
๐๏ธ NEW IN v5.4.0 โ TUI Installer & Fixes:
- ๐ฅ๏ธ TUI Installer - Interactive terminal UI: browse voices, configure providers, enable BMAD party mode
- ๐ง Spinner Fix - Resolved
spinner.info is not a functioncrash on WSL/Linux - ๐ Circular Dependency Fix - Removed self-referential
agentvibes@^3.5.9dep that silently broke installs - ๐ต Background Music Volume Fix - Restored
bg_volume="0.20"fallback inaudio-processor.sh - ๐ PROJECT_ROOT Fix -
play-tts.shnow correctly resolves project root for per-project config
๐ช v3.5.5 โ Native Windows Support:
- ๐ฅ๏ธ Windows Native TTS - Soprano, Piper, and Windows SAPI providers. No WSL required!
- ๐ต Background Music - 16 genre tracks mixed under voice
- ๐๏ธ Reverb & Audio Effects - 5 reverb levels via ffmpeg
- ๐ Verbosity Control - High, Medium, or Low settings
- ๐จ Beautiful Installer -
npx agentvibes installor.\setup-windows.ps1
โก v3.4.0 Highlights:
- ๐ค Soprano TTS Provider - Ultra-fast neural TTS with 20x CPU, 2000x GPU acceleration (thanks @nathanchase!)
- ๐ก๏ธ Security Hardening - 9.5/10 score with comprehensive validation and timeouts
- ๐ Environment Intelligence - PulseAudio tunnel auto-detection for SSH scenarios
โก Core Features:
- โก One-Command Install - Get started in 30 seconds (
npx agentvibes installor.\setup-windows.ps1without Node.js) - ๐ญ Multi-Provider Support - Soprano (neural), Piper TTS (50+ free voices), macOS Say (100+ built-in), or Windows SAPI
- ๐๏ธ 27+ Professional AI Voices - Character voices, accents, and unique personalities
- ๐๏ธ Verbosity Control - Choose how much Claude speaks (LOW, MEDIUM, HIGH)
- ๐๏ธ AgentVibes MCP - Natural language control ("Switch to Aria voice") for Claude Code, Desktop & Warp
- ๐ SSH Audio Optimization - Auto-detects remote sessions and eliminates static (VS Code Remote SSH, cloud dev)
๐ญ Personalization:
- ๐ญ 19 Built-in Personalities - From sarcastic to flirty, pirate to dry humor
- ๐ฌ Advanced Sentiment System - Apply personality styles to ANY voice without changing it
- ๐ต Voice Preview & Replay - Listen before you choose, replay last 10 TTS messages
๐ Integrations & Power Features:
- ๐ Enhanced BMAD Plugin - Auto voice switching for BMAD agents with multilingual support
- ๐ Live Audio Feedback - Hear task acknowledgments and completions in any language
- ๐ 30+ Languages - Multilingual support with native voice quality
- ๐ Free & Open - Use Piper TTS with no API key required
๐ค Hugging Face AI Voice Models
AgentVibes' Piper TTS uses 100% Hugging Face-trained AI voice models from rhasspy/piper-voices.
What are Hugging Face voice models?
Hugging Face voice models are pre-trained artificial intelligence models hosted on the Hugging Face Model Hub platform, designed to convert text into human-like speech (Text-to-Speech or TTS) or perform other speech tasks like voice cloning and speech-to-speech translation. They're accessible via their Transformers library for easy use in applications like voice assistants, audio generation, and more.
Key Benefits:
- ๐ฏ Human-like Speech - VITS-based neural models for natural pronunciation and intonation
- ๐ 35+ Languages - Multilingual support with native accents
- ๐ 100% Open Source - All Piper voices are free HF models (Tacotron2, FastSpeech2, VITS)
- ๐ง Developer-Friendly - Fine-tune, customize, or deploy for various audio projects
- โก Offline & Fast - No API keys, no internet needed once installed
All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-source AI voice models, ensuring high-quality, natural-sounding speech synthesis across all supported platforms.
๐ Table of Contents
Getting Started
- ๐ Quick Start - Get voice in 30 seconds (3 simple steps)
- ๐ฑ Android/Termux - Run Claude Code on your phone
- ๐ Prerequisites - What you actually need (Node.js + optional tools)
- โจ What is AgentVibes? - Overview & key features
- ๐ NEW FEATURE HIGHLIGHTS - START HERE!
- ๐ค Voices Tab - Browse & sample 914 voices in the TUI
- ๐ฌ Intro Text - Custom TTS prefixes
- ๐ต Custom Background Music - Upload your own tracks
- ๐ฐ Latest Release - v5.5.0 with Per-LLM Audio Routing, Windows Installer Resilience
- ๐ช Windows Setup Guide for Claude Desktop - Complete Windows installation with WSL & Python
AgentVibes MCP (Natural Language Control)
- ๐๏ธ AgentVibes MCP Overview - Easiest way - Natural language commands
-
For Claude Desktop - Windows/WSL setup, Python requirements
-
For Claude Code - Project-specific setup
-
Core Features
- ๐ค Voices Tab - Browse and sample 914 voices in the TUI
- ๐ค Commands Reference - All available commands
- ๐๏ธ Verbosity Control - Control how much Claude speaks (low/medium/high)
- ๐ญ Personalities vs Sentiments - Two systems explained
- ๐ฃ๏ธ Voice Library - 914 voices with friendly names
- ๐ BMAD Plugin - Auto voice switching for BMAD agents
- ๐๏ธ AgentVibes Receiver - NEW! - Remote audio streaming from voiceless servers
Integrations & Platforms
- ๐ค OpenClaw Integration - Use AgentVibes with OpenClaw messaging platform
- ๐๏ธ AgentVibes Skill for OpenClaw - 50+ voices, effects, personalities for OpenClaw
- ๐ฑ AgentVibes Receiver - Remote audio on phones/local machines
Advanced Topics
- ๐ฆ Installation Structure - What gets installed
- ๐ก Common Workflows - Quick examples
- ๐ง Advanced Features - Custom voices & personalities
- ๐ Remote Audio Setup - Play TTS from remote servers
- ๐ฅ๏ธ Windows SSH Receiver & TTS Watcher - Stream audio to Windows PC from Linux/macOS
- ๐จ Security Hardening Guide - REQUIRED if running OpenClaw on remote server: SSH hardening, Fail2Ban, Tailscale, UFW, AIDE
- ๐ฌ Technical Deep Dive - How AgentVibes works under the hood
- โ Troubleshooting - Common issues & fixes
Additional Resources
- ๐ Useful Links - Voice typing & AI tools
- ๐ Updating - Keep AgentVibes current
- ๐๏ธ Uninstalling - Remove AgentVibes cleanly
- โ FAQ - NEW! Common questions answered (git-lfs, MCP tokens, installation)
- ๐ macOS Testing - Automated testing on macOS with GitHub Actions
- ๐ค Hugging Face Voice Models - Technical details on AI voice models
- ๐ Credits - Acknowledgments
- ๐ค Contributing - Show support
๐ฐ Latest Release
v3.6.0 - "Voice Explorer" Release ๐
๐ค Voices Tab โ Browse & Sample 914 Voices
Built into the TUI โ launch with npx agentvibes then press V

- ๐ง Real-time voice sampling - press Space to hear before you choose
- โญ Favorite system - mark your top voices
- ๐ Search & filter - find voices by personality, accent, gender
- ๐ฆ One-click select - press Enter to install directly
- ๐จ Beautiful UI - built into the AgentVibes TUI
914 Total Voices:
- 904 Piper speaker variations (libritts-high)
- 10 curated personality voices
๐ฏ Major Features
๐ท๏ธ Friendly Voice Names
- No more cryptic IDs! Switch voices with names like "Ryan", "Joe", "Sarah"
- All 904+ voices have memorable, personality-matched names
- Voice metadata includes personalities, accents, and recommendations
# Before: /agent-vibes:switch en_US-libritts_r-medium-speaker-123
# After:
/agent-vibes:switch Ryan
๐ฌ Intro Text (Pretext) Feature
- Custom prefix for all TTS announcements
- Set during installation or anytime after
- Perfect for personal branding: "FireBot: Starting analysis..."
- Up to 50 characters, UTF-8 and emoji support
npx agentvibes config intro-text
๐ต Custom Background Music
- Upload your own audio files (.mp3, .wav, .ogg, .m4a)
- Battle-tested security: 180+ attack variations blocked
- Magic number validation ensures real audio files
- File ownership verification (UID checks)
- Audio duration validation (30-90s recommended, 300s max)
- Secure storage with 600 permissions
- Perfect for team audio branding
npx agentvibes config music
๐จ Interactive Installer
- Preview voices during installation
- Sample all 16 background music tracks
- Audio environment auto-detection
- Cross-platform preview support
๐ก๏ธ Security Hardening
- 180+ attack variations tested - Path traversal, symlinks, Unicode, null bytes
- 100% attack rejection rate - All malicious attempts blocked
- OWASP compliant - CWE-22 path traversal prevention verified
- Production certified - Comprehensive security audit completed
- Defense-in-depth - 7 validation layers protect your system
- File ownership verification and secure storage (600 permissions)
- Security audit report:
docs/security/SECURITY-AUDIT.md
Quick Install
# Install AgentVibes
npx agentvibes install
# Browse voices in the TUI
npx agentvibes # press V for Voices tab
๐ Bug Fixes in v3.6.0:
- Fixed
get_verbosityMCP tool returning wrong level after fresh install (now reads from correct project directory, defaults tohigh) - Fixed Voice Browser Soprano TTS detection, Custom Music race conditions, installer emoji rendering
๐ก Tip: If npx agentvibes shows an older version, clear cache: npm cache clean --force && npx agentvibes@latest --help
๐ Found a bug? Report at GitHub Issues
โ View Complete Release Notes | โ View All Releases
๐๏ธ AgentVibes MCP
Agent Vibes was originally created to give the Claude Code assistant a voice! Simply install it with an npx command in your terminal, and Claude Code can talk back to you.
We've now enhanced this capability by adding an MCP (Model Context Protocol) server. This integration exposes Agent Vibes' functionality directly to your AI assistant, allowing you to configure and control Agent Vibes using natural language instead of typing "/" slash commands.
Setting it up is straightforward: just add the MCP server to your Claude Code configuration files.
But the convenience doesn't stop there. With the MCP server in place, Claude Desktop can now use Agent Vibes too!
We're thrilled about this expansion because it means Claude Desktop can finally talk back as well!
If you decide to use the MCP server on Claude Desktop, after configuration, give Claude Desktop this command: "every time i give you a command, speak the acknowledgement using agentvibes and the confirmation about what you completed, when done"โand watch the magic happen!
๐ฏ Control AgentVibes with natural language - no slash commands to remember!
Just say "Switch to Aria voice" or "Speak in Spanish" instead of typing commands.
Works in: Claude Desktop, Claude Code
โ View Complete MCP Setup Guide - Full setup for all platforms, configuration examples, available tools, and MCP vs slash commands comparison
๐ Quick Start - Get Voice in 30 Seconds
3 Simple Steps:
1๏ธโฃ Install
npx agentvibes install

Click Configure on any LLM to set its voice, pretext, reverb, and music:

2๏ธโฃ Choose Provider (Auto-Detected)
- macOS: Native
sayprovider (100+ voices) โจ - Linux/WSL: Piper TTS (50+ free voices) ๐๏ธ
- Windows Native: Soprano, Piper, or SAPI ๐ช
- Android: Termux with auto-setup ๐ฑ
3๏ธโฃ Use in Claude Code
Just code normally - AgentVibes automatically speaks task acknowledgments and completions! ๐
๐ macOS Users (One-Time Setup):
brew install bash # Required for bash 5.x features
macOS ships with bash 3.2 (from 2007). After this, everything works perfectly!
โ Full Setup Guide - Advanced options, provider switching, and detailed setup
๐ค Voice Browser
914 voices โ browse, preview, and select right inside the TUI.
npx agentvibes # Setup tab โ Configure โ Voice (or press V for global voice)

Features
- 914 Voices - Browse 904 Piper speakers + 10 curated voices
- Real-Time Sampling - Press Space to hear any voice instantly
- Favorite System - Thumbs up
+/ thumbs down-for quick filtering - Alpha Jump - Press any letter key to jump to that part of the list
- One-Click Select - Press Enter to install and switch to a voice
- Beautiful UI - Stunning console interface built into AgentVibes
Keyboard Shortcuts
| Key | Action |
|---|---|
| Space | Preview voice sample |
| Enter | Select/Install voice |
| + | Thumbs up (favorite) |
| - | Thumbs down |
| PgUp / PgDn | Page through list |
| โ/โ | Navigate list |
| a-z | Jump to names starting with letter |
| Esc | Cancel / close |
Voice Categories
Curated Voices (10 hand-picked personalities):
- Professional, Friendly, Authoritative, Warm, Energetic
- Technical, Calm, Narrator, Conversational, Enthusiastic
Speaker Variations (904 from libritts-high):
- Male and female speakers
- Various accents and tones
- High-quality neural voices
- Unique characteristics
Finding Your Perfect Voice
- Open voice browser: Setup tab โ Configure โ navigate to Voice โ Enter
- Jump alphabetically: Press a letter key to jump to that name
- Sample voices: Navigate with arrows, press Space to hear
- Mark favorites: Press
+on voices you like - Select: Press Enter to set as your voice
Pro Tip: Use PgUp/PgDn to page quickly through 900+ voices!
๐ Prerequisites - What You Actually Need
Minimum (Core Features)
โ REQUIRED:
- Node.js โฅ16.0 - Check with:
node --version
Required for Full Features
โ STRONGLY RECOMMENDED:
- Python 3.10+ - Needed for Piper TTS voice engine
- bash 5.0+ - macOS only (macOS ships with 3.2 from 2007)
Optional but Recommended
โญ OPTIONAL (TTS still works without them):
- sox - Audio effects (reverb, EQ, pitch shifting)
- ffmpeg - Background music, audio padding, RDP compression
NOT Required (Despite What You've Heard)
โ DEFINITELY NOT NEEDED:
- โ Git or git-lfs (npm handles everything)
- โ Repository cloning (unless you're contributing code)
- โ Build tools or C++ compilers (pre-built package ready to use)
Installation Methods
| Method | Command | Use Case |
|---|---|---|
| โ RECOMMENDED: NPX (via npm) | npx agentvibes install | All platforms - Just want to use AgentVibes |
| ๐ช Windows PowerShell | .\setup-windows.ps1 | Windows - Standalone installer (no Node.js needed) |
| โ ๏ธ Git Clone | git clone ... | Developers Only - Contributing code |
Why npx? Zero git operations, no build steps, just 30 seconds to voice!
For Developers (Contributing Code)
If you want to contribute to AgentVibes:
git clone https://github.com/paulpreibisch/AgentVibes.git
cd AgentVibes
npm install
npm link
Requires: Node.js 16+, Git (no git-lfs), and npm link familiarity.
๐ฑ Quick Setup: Android & Termux (Claude Code on Your Phone!)
Want to run Claude Code on your Android phone with professional voices?
Simply install Termux from F-Droid (NOT Google Play) and run:
pkg update && pkg upgrade
pkg install nodejs-lts
npx agentvibes install
Termux auto-detects and installs everything needed (proot-distro for compatibility, Piper TTS, audio playback).
โ Full Android/Termux Setup Guide - Detailed troubleshooting and verification steps
๐ System Requirements
AgentVibes requires certain system dependencies for optimal audio processing and playback. Requirements vary by operating system and TTS provider.
Core Requirements (All Platforms)
| Tool | Required For | Why It's Needed |
|---|---|---|
| Node.js โฅ16.0 | All platforms | Runtime for AgentVibes installer and MCP server |
| Bash โฅ5.0 | macOS | Modern bash features (macOS ships with 3.2 from 2007) |
| Python 3.10+ | Piper TTS, MCP server | Runs Piper voice engine and MCP server |
Audio Processing Tools (Recommended)
| Tool | Status | Purpose | Impact if Missing |
|---|---|---|---|
| sox | Recommended | Audio effects (reverb, EQ, pitch, compression) | No audio effects, still works |
| ffmpeg | Recommended | Background music mixing, audio padding, RDP compression | No background music or RDP optimization |
Platform-Specific Requirements
๐ง Linux / WSL
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y sox ffmpeg python3-pip pipx
# Fedora/RHEL
sudo dnf install -y sox ffmpeg python3-pip pipx
# Arch Linux
sudo pacman -S sox ffmpeg python-pip python-pipx
Audio Playback (one of the following):
paplay(PulseAudio - usually pre-installed)aplay(ALSA - fallback)mpg123(fallback)mpv(fallback)
Why these tools?
- sox: Applies audio effects defined in
.claude/config/audio-effects.cfg(reverb, pitch shifting, EQ, compression) - ffmpeg: Mixes background music tracks, adds silence padding to prevent audio cutoff, compresses audio for RDP/SSH sessions
- paplay/aplay: Plays generated TTS audio files
- pipx: Isolated Python environment manager for Piper TTS installation
๐ macOS
# Install Homebrew if not already installed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Required: Modern bash
brew install bash
# Recommended: Audio processing tools
brew install sox ffmpeg pipx
Audio Playback:
afplay(built-in - always available)say(built-in - for macOS TTS provider)
Why these tools?
- bash 5.x: macOS ships with bash 3.2 which lacks associative arrays and other modern features AgentVibes uses
- sox: Same audio effects processing as Linux
- ffmpeg: Same background music and padding as Linux
- afplay: Built-in macOS audio player
- say: Built-in macOS text-to-speech (alternative to Piper)
๐ช Windows
Option A: Native Windows (Recommended)
AgentVibes now supports native Windows with three TTS providers. No WSL required!
# Interactive Node.js installer (recommended)
npx agentvibes install
# Or use the standalone PowerShell installer
.\setup-windows.ps1
Providers available natively:
- Soprano - Ultra-fast neural TTS (best quality, requires
pip install soprano-tts) - Windows Piper - High quality offline neural voices (auto-downloaded)
- Windows SAPI - Built-in Windows voices (zero setup)
Requirements: Node.js 16+, PowerShell 5.1+, ffmpeg (optional, for background music & reverb)
See Windows Native Setup Guide for full instructions.
Option B: WSL (Legacy)
For Claude Desktop or WSL-based workflows, follow the Windows WSL Guide.
# Install WSL from PowerShell (Administrator)
wsl --install -d Ubuntu
Then follow Linux requirements above inside WSL.
๐ค Android / Termux
Running Claude Code on Your Android Using Termux
AgentVibes fully supports Android devices through the Termux app. This enables you to run Claude Code with professional TTS voices directly on your Android phone or tablet!
Quick Setup:
# 1. Install Termux from F-Droid (NOT Google Play - it's outdated)
# Download: https://f-droid.org/en/packages/com.termux/
# 2. Install Node.js in Termux
pkg update && pkg upgrade
pkg install nodejs-lts
# 3. Install AgentVibes (auto-detects Android and runs Termux installer)
npx agentvibes install
What Gets Installed?
The Termux installer automatically sets up:
- proot-distro with Debian (for glibc compatibility)
- Piper TTS via proot wrapper (Android uses bionic libc, not glibc)
- termux-media-player for audio playback (
paplaydoesn't work on Android) - Audio dependencies: ffmpeg, sox, bc for processing
- termux-api for Android-specific audio routing
Why Termux Instead of Standard Installation?
Android's architecture requires special handling:
- โ Standard pip/pipx fails (missing wheels for bionic libc)
- โ Linux binaries require glibc (Android uses bionic)
- โ
/tmpdirectory is not accessible on Android - โ Standard audio tools like
paplaydon't exist
โ Termux installer solves all these issues with proot-distro and Android-native audio playback!
Requirements:
- Termux app (from F-Droid, NOT Google Play)
- Termux:API (for audio playback)
- Android 7.0+ (recommended: Android 10+)
- ~500MB free storage (for Piper TTS + voice models)
Audio Playback:
- Uses
termux-media-playerinstead ofpaplay - Audio automatically routes through Android's media system
- Supports all Piper TTS voices (50+ languages)
Verifying Your Setup:
# Check Termux environment
echo $PREFIX # Should show /data/data/com.termux/files/usr
# Check Node.js
node --version # Should be โฅ16.0
# Check if Piper is installed
which piper # Should return /data/data/com.termux/files/usr/bin/piper
# Test audio playback
termux-media-player play /path/to/audio.wav
Troubleshooting:
| Issue | Solution |
|---|---|
| "piper: not found" | Run npx agentvibes install - auto-detects Termux |
| No audio playback | Install Termux:API from F-Droid |
| Permission denied | Run termux-setup-storage to grant storage access |
| Slow installation | Use WiFi, not mobile data (~300MB download) |
Why F-Droid and Not Google Play?
Google Play's Termux version is outdated and unsupported. Always use the F-Droid version for the latest security updates and compatibility.
TTS Provider Requirements
Piper TTS (Free, Offline)
- Python 3.10+
- pipx (for isolated installation)
- Disk Space: ~50MB per voice model
- Internet: Only for initial voice downloads
# Installed automatically by AgentVibes
pipx install piper-tts
macOS Say (Built-in, macOS Only)
- No additional requirements
- 100+ voices pre-installed on macOS
- Use:
/agent-vibes:provider switch macos
Verifying Your Setup
# Check all dependencies
node --version # Should be โฅ16.0
python3 --version # Should be โฅ3.10
bash --version # Should be โฅ5.0 (macOS users!)
sox --version # Optional but recommended
ffmpeg -version # Optional but recommended
pipx --version # Required for Piper TTS
# Check audio playback (Linux/WSL)
paplay --version || aplay --version
# Check audio playback (macOS)
which afplay # Should return /usr/bin/afplay
What Happens Without Optional Dependencies?
| Missing Tool | Impact | Workaround |
|---|---|---|
| sox | No audio effects (reverb, EQ, pitch) | TTS still works, just no effects |
| ffmpeg | No background music, no audio padding | TTS still works, audio may cut off slightly early |
| paplay/aplay | No audio playback on Linux | Install at least one audio player |
All TTS generation still works - optional tools only enhance the experience!
๐ญ Choose Your Voice Provider
Piper TTS (free, works offline on Linux/WSL) or macOS Say (free, built-in on Mac) - pick one and switch anytime.
| Provider | Platform | Cost | Quality | Setup |
|---|---|---|---|---|
| macOS Say | macOS only | Free (built-in) | โญโญโญโญ | Zero config |
| Piper | Linux/WSL/Windows | Free | โญโญโญโญ | Auto-downloads |
| Soprano | Linux/WSL/Windows | Free | โญโญโญโญโญ | pip install soprano-tts |
| Windows SAPI | Windows | Free (built-in) | โญโญโญ | Zero config |
On macOS, the native say provider is automatically detected and recommended!
๐ค Commands Reference
AgentVibes provides 50+ slash commands and natural language MCP equivalents.
Quick Examples:
# Voice control
/agent-vibes:switch Aria # Or: "Switch to Aria voice"
/agent-vibes:list # Or: "List all voices"
# Personality & sentiment
/agent-vibes:personality pirate # Or: "Set personality to pirate"
/agent-vibes:sentiment sarcastic # Or: "Apply sarcastic sentiment"
# Language & learning
/agent-vibes:set-language spanish # Or: "Speak in Spanish"
/agent-vibes:learn # Or: "Enable learning mode"
โ View Complete Command Reference - All voice, system, personality, sentiment, language, and BMAD commands with MCP equivalents
Voices Tab Commands
# Launch the TUI and open Voices tab
npx agentvibes # then press V
Intro Text Commands
# Configure intro text
/agent-vibes:config intro-text
npx agentvibes config intro-text
# View current intro text
cat ~/.claude/config/intro-text.txt
MCP Equivalent:
"Set my intro text to 'FireBot: '"
"What's my current intro text?"
"Clear my intro text"
Custom Music Commands
# Configure background music
/agent-vibes:config music
npx agentvibes config music
# Menu options:
# 1. Change music - Upload new audio file
# 2. Remove music - Clear custom music
# 3. Reset to default - Restore built-in tracks
# 4. Enable/Disable - Toggle background music
# 5. Preview current - Sample current music
MCP Equivalent:
"Configure my background music"
"Add custom background music"
"Remove custom music"
"Preview my background music"
Friendly Voice Name Commands
# Switch using friendly name
/agent-vibes:switch Ryan
/agent-vibes:switch Sarah
# List all voices with friendly names
/agent-vibes:list
# Get current voice (shows friendly name if available)
/agent-vibes:whoami
MCP Equivalent:
"Switch to Ryan voice"
"Use the Sarah voice"
"List all available voices"
๐๏ธ Verbosity Control
Control how much Claude speaks while working! ๐
Choose from three verbosity levels:
LOW (Minimal) ๐
- Acknowledgments only (start of task)
- Completions only (end of task)
- Perfect for quiet work sessions
MEDIUM (Balanced) ๐ค
- Acknowledgments + completions
- Major decisions ("I'll use grep to search")
- Key findings ("Found 12 instances")
- Perfect for understanding decisions without full narration
HIGH (Maximum Transparency) ๐ญ
- All reasoning ("Let me search for all instances")
- All decisions ("I'll use grep for this")
- All findings ("Found it at line 1323")
- Perfect for learning mode, debugging complex tasks
Quick Commands:
/agent-vibes:verbosity # Show current level
/agent-vibes:verbosity high # Maximum transparency
/agent-vibes:verbosity medium # Balanced
/agent-vibes:verbosity low # Minimal (default)
MCP Equivalent:
"Set verbosity to high"
"What's my current verbosity level?"
๐ก How it works: Claude uses emoji markers (๐ญ ๐ค โ) in its text, and AgentVibes automatically detects and speaks them based on your verbosity level. No manual TTS calls needed!
โ ๏ธ Note: Changes take effect on next Claude Code session restart.
๐ Language Learning Mode
๐ฏ Learn Spanish (or 30+ languages) while you program! ๐
Every task acknowledgment plays twice - first in English, then in your target language. Context-based learning while you code!
โ View Complete Learning Mode Guide - Full tutorial, quick start, commands, speech rate control, supported languages, and pro tips
๐ญ Personalities vs Sentiments
Two ways to add personality:
- ๐ช Personalities - Changes BOTH voice AND speaking style (e.g.,
piratepersonality = Pirate Marshal voice + pirate speak) - ๐ญ Sentiments - Keeps your current voice, only changes speaking style (e.g., Aria voice + sarcastic sentiment)
โ Complete Personalities Guide - All 19 personalities, create custom ones
๐ฃ๏ธ Voice Library
Browse voices in the TUI: Run npx agentvibes and press V to open the Voices Tab โ browse, sample, and install from 914 voices without leaving your terminal.
Friendly Voice Names
All voices now have memorable names! Instead of technical IDs like en_US-libritts_r-medium-speaker-123, just use friendly names like Ryan, Joe, or Sarah.
Voice Metadata Includes:
- Display name and technical ID
- Gender, accent, and region
- Personality traits (professional, warm, friendly, etc.)
- Recommended use cases
- Quality rating and sample rate
Voice Categories
Curated Voices (10 personalities): These hand-picked voices cover common use cases with clear characteristics.
Speaker Variations (904 voices): High-quality Piper TTS voices from the libritts-high model. Each speaker has unique vocal characteristics, accents, and tones.
Popular Voices
AgentVibes includes professional AI voices from Piper TTS and macOS Say with multilingual support.
๐ง Try in Claude Code: /agent-vibes:preview to hear all voices
๐ Multilingual: Use Antoni, Rachel, Domi, or Bella for automatic language detection
โ View Complete Voice Library - All voices with clickable samples, descriptions, and best use cases
๐ BMAD Plugin
Automatically switch voices when using BMAD agents!
The BMAD plugin detects when you activate a BMAD agent (e.g., /BMad:agents:pm) and automatically uses the assigned voice for that role.
Version Support: AgentVibes supports both BMAD v4 and v6-alpha installations. Version detection is automatic - just install BMAD and AgentVibes will detect and configure itself correctly!
๐ญ BMad Tab โ Assign a Voice to Every Agent
Open the BMad tab in the AgentVibes TUI (npx agentvibes โ press B) to configure which voice, reverb, and pretext each BMAD agent uses:

๐ TTS Injection: How It Works
BMAD uses a loosely-coupled injection system for voice integration. BMAD source files contain placeholder markers that AgentVibes replaces with speaking instructions during installation:
Before Installation (BMAD Source):
<rules>
<r>ALWAYS communicate in {communication_language}...</r>
<!-- TTS_INJECTION:agent-tts -->
<r>Stay in character until exit selected</r>
</rules>
After Installation (with AgentVibes enabled):
<rules>
<r>ALWAYS communicate in {communication_language}...</r>
- When responding to user messages, speak your responses using TTS:
Call: `.claude/hooks/bmad-speak.sh '{agent-id}' '{response-text}'`
Where {agent-id} is your agent type (pm, architect, dev, etc.)
- Auto Voice Switching: AgentVibes automatically switches to the voice
assigned for your agent role when activated
<r>Stay in character until exit selected</r>
</rules>
After Installation (with TTS disabled):
<rules>
<r>ALWAYS communicate in {communication_language}...</r>
<r>Stay in character until exit selected</r>
</rules>
This design means any TTS provider can integrate with BMAD by replacing these markers with their own instructions!
โ View Complete BMAD Documentation - All agent mappings, language support, TTS injection details, plugin management, and customization
๐ค OpenClaw Integration
Use AgentVibes TTS with OpenClaw - the revolutionary AI assistant you can access via any instant messenger!
What is OpenClaw? OpenClaw is a revolutionary AI assistant that brings Claude AI to your favorite messaging platforms - WhatsApp, Telegram, Discord, and more. No apps to install, no websites to visit - just message your AI assistant like you would a friend.
๐ Website: https://openclaw.ai/
AgentVibes seamlessly integrates with OpenClaw, providing professional text-to-speech for AI assistants running on messaging platforms and remote servers.
๐จ CRITICAL: Security Before Running OpenClaw on Any Remote Server
โ ๏ธ SECURITY IS NOT OPTIONAL - Running OpenClaw on a remote server exposes your infrastructure to attack vectors including SSH compromise, credential theft, and lateral movement.
๐ READ THIS FIRST: Security Hardening Guide - Required reading covering:
- โ SSH hardening (key-only auth, port 2222, fail2ban)
- โ Firewall configuration (UFW/iptables)
- โ Intrusion detection (AIDE, Wazuh)
- โ VPN tunneling (Tailscale alternative to direct SSH)
Do not expose your OpenClaw server to the internet without reading this guide.
๐ฏ Key Benefits
- Free & Offline: No API costs, works without internet
- Remote SSH Audio: Audio tunnels from server to local machine via PulseAudio
- 50+ Voices: Professional AI voices in 30+ languages
- Zero Config: Automatic when AgentVibes is installed
๐ Installation
AgentVibes includes a ready-to-use OpenClaw skill that enables TTS on messaging platforms. The setup involves two components:
Component 1: OpenClaw Server (Remote)
Install AgentVibes on your OpenClaw server:
# On your remote server where OpenClaw is running
npx agentvibes install
The OpenClaw skill is automatically included in the AgentVibes npm package at .clawdbot/skill/SKILL.md.
How to activate the skill in OpenClaw:
-
Locate the skill - After installing AgentVibes, the skill is at:
node_modules/agentvibes/.clawdbot/skill/SKILL.md -
Link to OpenClaw skills directory (if OpenClaw uses skills):
# Example - adjust path based on your OpenClaw installation ln -s $(npm root -g)/agentvibes/.clawdbot/skill/SKILL.md ~/.openclaw/skills/agentvibes.md -
OpenClaw auto-detection - Many OpenClaw setups automatically detect AgentVibes when it's installed. Check your OpenClaw logs for:
โ AgentVibes skill detected and loaded
๐๏ธ AgentVibes Voice Management Skill for OpenClaw
Manage your text-to-speech voices across multiple providers with the AgentVibes Voice Management Skill:
Voice Management Features:
- ๐ค 50+ Professional Voices - Across Piper TTS, Piper (free offline), and macOS Say providers
- ๐ Multi-Provider Support - Switch between Piper TTS (premium), Piper (free), and macOS Say
- ๐ Voice Preview - Listen to voices before selecting them
- ๐๏ธ Voice Customization - Add custom voices, set pretext, control speech rate
- ๐ Voice Management - List, switch, replay, and manage your voice library
- ๐ Mute Control - Mute/unmute TTS output with persistent settings
- ๐ Multilingual Support - Voices in 30+ languages across all providers
Installation Confirmation: โ The skill is automatically included in the AgentVibes npm package at:
node_modules/agentvibes/.clawdbot/skill/SKILL.md
No extra setup needed - when you run npx agentvibes install on your OpenClaw server, the skill is ready to use!
Full Skill Documentation: โ View Complete AgentVibes Skill Guide - 430+ lines covering:
- Quick start with 50+ voice options
- Background music & effects management
- Personality system (19+ styles)
- Voice effects (reverb, reverb, EQ)
- Speed & verbosity control
- Remote SSH audio setup
- Troubleshooting & complete reference
Popular Voice Examples:
# Female voices
npx agentvibes speak "Hello" --voice en_US-amy-medium
npx agentvibes speak "Bonjour" --voice fr_FR-siwis-medium
# Male voices
npx agentvibes speak "Hello" --voice en_US-lessac-medium
npx agentvibes speak "Good day" --voice en_GB-alan-medium
# Add personality!
bash ~/.claude/hooks/personality-manager.sh set sarcastic
bash ~/.claude/hooks/play-tts.sh "Oh wonderful, another request"
Component 2: AgentVibes Receiver (Local/Phone) โ ๏ธ REQUIRED
CRITICAL: You MUST install AgentVibes on your phone (or local machine) to receive and play audio!
Without this, audio cannot be heard - the server generates TTS but needs a receiver to play it.
Install on Android Phone (Termux):
-
Install Termux from F-Droid (NOT Google Play):
-
Install Node.js in Termux:
pkg update && pkg upgrade pkg install nodejs-lts -
Install AgentVibes in Termux:
npx agentvibes install -
Install Termux:API (for audio playback):
- Download: https://f-droid.org/en/packages/com.termux.api/
- Then in Termux:
pkg install termux-api
Install on Local Mac/Linux:
npx agentvibes install
Why is this needed?
- The server generates TTS but has no speakers (headless)
- AgentVibes on your phone acts as the audio receiver via SSH tunnel
- Audio tunnels from server โ SSH โ phone โ speakers ๐
Without AgentVibes installed on the receiving device, you'll generate audio but hear nothing!
How It Works: Server โ SSH Tunnel โ Local Playback
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. User messages OpenClaw via Telegram/WhatsApp โ
โ "Tell me about the weather" โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 2. OpenClaw (Server) processes request with Claude โ
โ AgentVibes skill generates TTS audio โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 3. Audio tunnels through SSH โ PulseAudio (port 14713)โ
โ Server: PULSE_SERVER=tcp:localhost:14713 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 4. Local AgentVibes receives and plays audio โ
โ Phone speakers, laptop speakers, etc. โ
โ ๐ "The weather is sunny and 72 degrees" โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Architecture:
- Server (OpenClaw): Generates TTS, sends via PulseAudio
- SSH Tunnel: RemoteForward port 14713 (encrypted transport)
- Local (Termux/Desktop): AgentVibes receives audio, plays on speakers
This creates a Siri-like experience - message from anywhere, hear responses on your phone! ๐ฑ๐ค
๐ Usage
Basic TTS Commands
# Basic TTS
npx agentvibes speak "Hello from OpenClaw"
# With different voices
npx agentvibes speak "Hello" --voice en_US-amy-medium
npx agentvibes speak "Bonjour" --voice fr_FR-siwis-medium
# List available voices
npx agentvibes voices
Advanced: Direct Hook Usage with Voice Override
For programmatic control, use the TTS hook directly:
# Basic: Use default voice
bash ~/.claude/hooks/play-tts.sh "Hello from OpenClaw"
# Advanced: Override voice per message
bash ~/.claude/hooks/play-tts.sh "Welcome message" "en_US-amy-medium"
bash ~/.claude/hooks/play-tts.sh "Bonjour!" "fr_FR-siwis-medium"
bash ~/.claude/hooks/play-tts.sh "British greeting" "en_GB-alan-medium"
Parameters:
$1- TEXT (required): Message to speak$2- VOICE (optional): Voice name to override default
Audio Effects Configuration for OpenClaw
File: .claude/config/audio-effects.cfg
Customize audio effects, background music, and voice processing per agent or use default settings:
Format:
AGENT_NAME|SOX_EFFECTS|BACKGROUND_FILE|BACKGROUND_VOLUME
Example Configuration:
# Default - subtle background music
default||agentvibes_soft_flamenco_loop.mp3|0.30
# Custom agent with reverb + background
MyAgent|reverb 40 50 90 gain -2|agentvibes_soft_flamenco_loop.mp3|0.20
# Agent with pitch shift and EQ
Assistant|pitch -100 equalizer 3000 1q +2|agentvibes_dark_chill_step_loop.mp3|0.15
Available SOX Effects:
| Effect | Syntax | Example | Description |
|---|---|---|---|
| Reverb | reverb <reverberance> <HF-damping> <room-scale> | reverb 40 50 90 | Adds room ambiance (light: 30 40 70, heavy: 50 60 100) |
| Pitch | pitch <cents> | pitch -100 | Shift pitch (100 cents = 1 semitone, negative = lower) |
| Equalizer | equalizer <freq> <width>q <gain-dB> | equalizer 3000 1q +2 | Boost/cut frequencies (bass: 200Hz, treble: 4000Hz) |
| Gain | gain <dB> | gain -2 | Adjust volume (negative = quieter, positive = louder) |
| Compand | compand <attack,decay> <threshold:in,out> | compand 0.3,1 6:-70,-60,-20 | Dynamic range compression (makes quiet parts louder) |
Background Music Tracks:
Built-in tracks available in .claude/audio/tracks/:
agentvibes_soft_flamenco_loop.mp3- Warm, rhythmic flamencoagentvibes_dark_chill_step_loop.mp3- Modern chill electronic- (50+ additional tracks available)
Background Volume:
0.10- Very subtle (10%)0.20- Subtle (20%)0.30- Moderate (30%, recommended default)0.40- Noticeable (40%, party mode)
Example: OpenClaw Custom Configuration
Create .claude/config/audio-effects.cfg on your OpenClaw server:
# OpenClaw assistant - warm voice with subtle reverb
OpenClaw|reverb 30 40 70 gain -1|agentvibes_soft_flamenco_loop.mp3|0.25
# Help desk agent - clear, bright voice
HelpDesk|equalizer 4000 1q +3 compand 0.2,0.5 6:-70,-60,-20|agentvibes_dark_chill_step_loop.mp3|0.15
# Default fallback
default||agentvibes_soft_flamenco_loop.mp3|0.30
How AgentVibes Applies Effects:
- Generate TTS - Create base audio with Piper TTS
- Apply SOX effects - Process audio (reverb, EQ, pitch, etc.)
- Mix background - Blend background music at specified volume
- Tunnel via SSH - Send processed audio to local receiver
- Play on device - Output to phone/laptop speakers
This allows per-message customization or consistent agent branding with unique audio signatures!
๐ Remote SSH Audio
Perfect for running OpenClaw on a remote server with audio on your local machine:
Quick Setup:
- Remote server - Configure PulseAudio:
echo 'export PULSE_SERVER=tcp:localhost:14713' >> ~/.bashrc
source ~/.bashrc
- Local machine - Add SSH tunnel (
~/.ssh/config):
Host your-server
RemoteForward 14713 localhost:14713
- Connect and test:
ssh your-server
agentvibes speak "Testing remote audio from OpenClaw"
Audio plays on your local speakers! ๐
๐ Documentation
- OpenClaw Skill: .clawdbot/README.md
- OpenClaw Website: https://openclaw.ai/
- Remote Audio Setup: docs/remote-audio-setup.md
- Security Hardening: docs/security-hardening-guide.md โ ๏ธ
๐๏ธ AgentVibes Receiver: Remote Audio Streaming from Voiceless Servers
Receive and play TTS audio from servers that have no audio output!
AgentVibes Receiver is a lightweight audio client that runs on your phone, tablet, or personal computer, which receives TTS audio from remote voiceless servers, where your OpenClaw Personal Assistant or your Claude Code project is installed.
๐ฏ What AgentVibes Receiver Solves
You have OpenClaw running on a Mac mini or remote server with no audio output:
- ๐ฅ๏ธ Mac mini (silent)
- ๐ฅ๏ธ Ubuntu server (headless)
- โ๏ธ AWS/DigitalOcean instance
- ๐ฆ Docker container
- ๐ช WSL (Windows Subsystem for Linux)
Users message you via WhatsApp, Telegram, Discord but only get text responses:
- โ No voice = Less engaging experience
- โ No personality = Feels robotic
- โ No audio cues = Miss important context
AgentVibes Receiver transforms this:
- โ OpenClaw speaks with voice (Siri-like experience)
- โ Audio streams to your device automatically
- โ You hear responses on your speakers
- โ Users get a conversational AI experience
๐ง How It Works
One-time setup:
- Install AgentVibes on your voiceless server with OpenClaw
- Install AgentVibes Receiver on your personal device (phone/tablet/laptop)
- Connect via SSH tunnel (or Tailscale VPN)
- Done - automatic from then on
Flow diagram:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Your Mac mini / Server โ
โ (OpenClaw + AgentVibes) โ
โ โข Generates TTS audio โ
โ โข Sends via SSH tunnel โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Encrypted SSH tunnel
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Your Phone / Laptop โ
โ (AgentVibes Receiver) โ
โ โข Receives audio stream (or text stream) โ
โ โข Auto-plays on device speakers โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Real-world example:
๐ฑ WhatsApp: "Tell me about quantum computing"
โ
๐ฅ๏ธ Mac mini: OpenClaw processes + generates TTS
โ SSH tunnel (audio or text stream)
๐ฑ Your phone (Agent Vibes Receiver): Plays audio ๐
โ
You hear on your device speakers: "Quantum computing uses quantum bits..."
โ
๐ฌ Conversation feels alive!
โจ Key Features
| Feature | Benefit |
|---|---|
| One-Time Pairing | SSH key setup, automatic reconnect |
| Real-Time Streaming | Low-latency audio playback |
| SSH Encryption | Secure audio tunnel |
| Tailscale Support | Easy VPN for remote servers |
| Voice Selection | Configure server-side voice |
| Audio Effects | Reverb, echo, pitch on server |
| Cache Tracking | Monitor audio generation |
| Multiple Servers | Connect to different OpenClaw instances |
๐ Perfect For
- ๐ฅ๏ธ Mac mini + OpenClaw - Home server with professional voices
- โ๏ธ Remote Servers - OpenClaw on AWS/GCP/DigitalOcean
- ๐ฑ WhatsApp/Telegram - Users message, hear responses
- ๐ Discord Bots - Bot speaks with voices
- ๐๏ธ Docker/Containers - Containerized OpenClaw with audio
- ๐ง WSL Development - Windows developers using voiceless WSL
๐ Setup
# On your server (Mac mini, Ubuntu, AWS, etc.)
npx agentvibes install
# Selects OpenClaw option
# AgentVibes installs with SSH-Remote provider
# On your personal device (phone, laptop, tablet)
npx agentvibes receiver setup
# Pairing prompt with server SSH key
# Done!
๐ Documentation
โ View AgentVibes Receiver Setup Guide - Pairing, SSH configuration, Tailscale setup, troubleshooting
โ View OpenClaw Integration Guide - Server setup, voice configuration, audio effects, and best practices
๐ฆ Installation Structure
What gets installed: Commands, hooks, personalities, and plugins in .claude/ directory.
โ View Complete Installation Structure - Full directory tree, file descriptions, and settings storage
๐ก Common Workflows
# Switch voices
/agent-vibes:list # See all voices
/agent-vibes:switch Aria # Change voice
# Try personalities
/agent-vibes:personality pirate # Pirate voice + style
/agent-vibes:personality list # See all 19 personalities
# Speak in other languages
/agent-vibes:set-language spanish # Speak in Spanish
/agent-vibes:set-language list # See 30+ languages
# Replay audio
/agent-vibes:replay # Replay last message
๐ก Tip: Using MCP? Just say "Switch to Aria voice" or "Speak in Spanish" instead of typing commands.
๐ง Advanced Features
AgentVibes supports custom personalities and custom voices.
Quick Examples:
# Create custom personality
/agent-vibes:personality add mycustom
# Add custom Piper voice
/agent-vibes:add "My Voice" abc123xyz789
# Use in custom output styles
[Bash: .claude/hooks/play-tts.sh "Starting" "Aria"]
โ View Advanced Features Guide - Custom personalities, custom voices, and more
๐ Remote Audio Setup
Running AgentVibes on a remote server? No problem!
โ Auto-detects SSH sessions - Works with VS Code Remote SSH, regular SSH, cloud dev environments โ Zero configuration - Audio optimizes automatically โ No static/clicking - Clean playback through SSH tunnels
โ Remote Audio Setup Guide - Full PulseAudio configuration details
๐ฅ๏ธ Windows SSH Receiver & TTS Watcher
Stream TTS audio from a Linux/macOS machine to your Windows PC.
When you run Claude Code on a Linux server (or WSL) and want audio to play on your Windows laptop, AgentVibes routes audio over SSH using a queue-based architecture โ required because SSH connections on Windows run in Session 0, which has no access to audio devices.
How It Works
Linux/macOS (sender) Windows (receiver)
โโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ
play-tts-ssh-remote.sh agentvibes-receiver.ps1 โ SSH ForceCommand
โ โ
โ SSH: base64 JSON payload โโโโโโโโโโโโโโโถ โ writes req-xxxx.json
โ โผ
โ ~/.agentvibes/tts-queue/
โ โ
โ tts-watcher.ps1 โ runs in your user session
โ โ
โ play-tts.ps1 โ piper/SAPI โ ๐ speakers
The receiver (agentvibes-receiver.ps1) runs as an SSH ForceCommand โ it accepts base64 JSON payloads and writes them to a queue directory. The watcher (tts-watcher.ps1) runs invisibly in your user session (the only session that has audio), picks up queue items, and plays them.
Is It Visible to the User?
No โ completely invisible during normal use. The watcher is a hidden background process that:
- Auto-starts on Windows login via the Startup folder shortcut (
agentvibes-watcher.vbs) - Runs as a hidden PowerShell window (no taskbar icon, no UI)
- Writes a log to
%USERPROFILE%\.agentvibes\watcher.logfor debugging - Silently plays audio when TTS requests arrive
One-Time Setup (Windows)
Run this once in an Administrator PowerShell from the AgentVibes repo:
powershell -ExecutionPolicy Bypass -File setup-ssh-receiver.ps1
This:
- Installs and hardens OpenSSH with ForceCommand (SSH โ receiver only, no shell)
- Creates the
agentvibes-receiverWindows user for SSH isolation - Installs the TTS watcher + auto-start shortcut in your Startup folder
- Configures the firewall rule (Tailscale-only by default)
After setup, no further action is needed. The watcher starts automatically on every login.
After-Install Checklist
| Step | Required? | Notes |
|---|---|---|
Run setup-ssh-receiver.ps1 | โ Once | Admin PowerShell |
| Add sender's SSH public key | โ Once | To C:\ProgramData\ssh\administrators_authorized_keys |
| Start the watcher | โ First time | Auto-starts on next login; or run start-watcher.vbs manually |
| Install piper voices on Windows | Optional | Without it, falls back to Windows SAPI (built-in) |
Watcher Fallback Behaviour
If %USERPROFILE%\.claude\hooks-windows\play-tts.ps1 is not present (e.g. AgentVibes has not been installed on the Windows machine itself), the watcher automatically falls back to Windows SAPI โ the built-in speech synthesizer. Audio will still play; it just uses the default Windows voice instead of a Piper voice.
Troubleshooting
No audio after the watcher is running:
# Check the log
Get-Content "$env:USERPROFILE\.agentvibes\watcher.log" -Tail 20
Watcher not running after reboot:
# Restart manually (no admin needed)
Start-Process wscript.exe -ArgumentList "$env:USERPROFILE\.agentvibes\start-watcher.vbs" -WindowStyle Hidden
Update the watcher without re-running full setup:
# From the AgentVibes repo root (no admin needed)
powershell -ExecutionPolicy Bypass -File update-watcher.ps1
Platform Comparison
| Platform | Watcher needed? | Reason |
|---|---|---|
| Windows | โ Yes | SSH runs in Session 0 โ no audio access |
| Linux | No | SSH sessions can reach PulseAudio/PipeWire directly |
| macOS | No | SSH sessions have audio access |
| WSL | No | Uses Linux audio stack |
๐ ๏ธ Technical Documentation
Audio Architecture
AgentVibes uses a cross-platform audio module (src/console/audio-env.js) that handles player detection and environment configuration for all supported platforms.
Platform Audio Support Matrix
| Platform | PulseAudio Config | MP3 Players (preference order) | WAV Players (preference order) |
|---|---|---|---|
| Native Linux | System default (not overridden) | ffplay โ play (sox) โ mpg123 โ cvlc โ mpv | aplay โ paplay โ play โ ffplay |
| WSL2 | Auto-detects /mnt/wslg/PulseServer | Same as Linux | Same as Linux |
| macOS | Not applicable | ffplay โ play โ mpg123 โ cvlc โ mpv โ afplay | aplay โ paplay โ play โ ffplay โ afplay |
| Windows | Not applicable | ffplay โ mpv (if installed) | ffplay โ mpv โ PowerShell SoundPlayer (built-in) |
Key Design Decisions
- Direct spawn, not shell chains: Audio players are spawned directly via Node's
spawn()instead ofsh -c 'cmd1 || cmd2'chains. VLC/cvlc crashes when stderr is redirected inside shell wrappers. - Player detection at startup: The available player is detected once using
whichand cached. No runtime fallback chains. - PULSE_SERVER safety: The WSL2 PulseServer path (
/mnt/wslg/PulseServer) is only set when the socket file actually exists. Hardcoding it on native Linux silently breaks audio output. - Windows WAV fallback: PowerShell's
System.Media.SoundPlayeris used as a built-in fallback when no cross-platform player is installed.
Multi-Speaker Voice Models
Piper supports multi-speaker ONNX models (e.g., 16Speakers.onnx) that contain multiple voices in a single file. AgentVibes expands these automatically:
- The
.onnx.jsonmetadata file containsnum_speakersandspeaker_id_map scanInstalledVoices()expands multi-speaker models into individual selectable entries (e.g.,16Speakers::Cori_Samuel)- When selected, the system writes
tts-piper-model.txtandtts-piper-speaker-id.txtto.claude/ play-tts-piper.shreads these files and passes--speaker <id>to the piper binary
Voice Directory Resolution
Voice storage follows the same precedence chain in both JavaScript and shell:
PIPER_VOICES_DIRenvironment variable- Project-local
.claude/piper-voices-dir.txt(walks up directory tree) - Global
~/.claude/piper-voices-dir.txt - Default
~/.claude/piper-voices
Voice Catalog System
AgentVibes includes a 914-voice catalog (voice-assignments.json) that lets users browse, preview, and install voices directly from the Voices tab:
- 10 Curated Voices โ Hand-picked high-quality voices installed by default
- 904 LibriTTS Speakers โ Automatically extracted from the
16Speakersmulti-speaker model'sspeaker_id_map, plus the full LibriTTS catalog from Hugging Face - Download on Demand โ Uninstalled voices appear greyed-out in the list; pressing Enter opens a download modal that fetches the voice via
piper-voice-manager.sh - Catalog Metadata โ Each entry includes
voiceId,displayName,gender,type(curated/libritts), and download URL - LibriTTS Speaker Names โ Raw numeric IDs are patched at load time using
patchLibriTTSSpeakerNames()which maps speaker IDs to human-readable names from the registry
The catalog is loaded once at tab initialization by loadCatalog(). Installed voices (from disk scan) are shown with full color; catalog-only voices are dimmed until downloaded.
Required System Dependencies for Background Music
Background music requires an MP3-capable audio player. The installer detects missing players and offers to install ffmpeg automatically. If no player is found, the Music tab displays a clear error message.
# Install ffmpeg (recommended โ provides ffplay)
# Ubuntu/Debian/WSL2:
sudo apt install ffmpeg
# macOS:
brew install ffmpeg
# Arch Linux:
sudo pacman -S ffmpeg
๐ Useful Links
Voice & AI Tools
- ๐ค WhisperTyping - Fast voice-to-text typing for developers
- ๐ฃ๏ธ OpenWhisper (Azure) - Microsoft's speech-to-text service
- ๐ Piper TTS - Free offline neural TTS
- ๐ค Claude Code - AI coding assistant
- ๐ญ BMAD METHOD - Multi-agent framework
AgentVibes Resources
- ๐ Issues - Report bugs
- ๐ Changelog - Version history
- ๐ฐ Technical Deep Dive - LinkedIn Article - How AgentVibes works under the hood
โ Troubleshooting
Common Issues:
โ Error: "git-lfs is not installed"
AgentVibes does NOT require git-lfs. This error suggests:
-
Wrong installation method - Use npm, not git clone:
# โ CORRECT - Use this: npx agentvibes install # โ WRONG - Don't clone unless contributing: git clone https://github.com/paulpreibisch/AgentVibes.git -
Different project - You may be in a BMAD-METHOD or other repo that uses git-lfs
-
Global git config - Your git may have lfs enabled globally:
git config --global --list | grep lfs
Solution: Use npx agentvibes install - no git operations needed!
No Audio Playing?
- Verify hook is installed:
ls -la .claude/hooks/session-start-tts.sh - Test:
/agent-vibes:sample Aria
No Audio on Windows (SSH Receiver)? The Windows receiver queues audio but requires a separate watcher process to play it:
- Check if watcher is running:
Get-WmiObject Win32_Process | Where-Object { $_.CommandLine -like "*tts-watcher*" } - If not running:
Start-Process wscript.exe -ArgumentList "$env:USERPROFILE\.agentvibes\start-watcher.vbs" -WindowStyle Hidden - Check the log:
Get-Content "$env:USERPROFILE\.agentvibes\watcher.log" -Tail 20 - โ Full Windows setup guide
Commands Not Found?
npx agentvibes install --yes
โ View Complete Troubleshooting Guide - Solutions for audio issues, command problems, MCP errors, voice issues, and more
๐ Updating
Quick Update (From Claude Code):
/agent-vibes:update
Alternative Methods:
# Via npx
npx agentvibes update --yes
# Via npm (if installed globally)
npm update -g agentvibes && agentvibes update --yes
Check Version: /agent-vibes:version
โ View Complete Update Guide - All update methods, version checking, what gets updated, and troubleshooting
๐๏ธ Uninstalling
Quick Uninstall (Project Only):
npx agentvibes uninstall
Uninstall Options:
# Interactive uninstall (confirms before removing)
npx agentvibes uninstall
# Auto-confirm (skip confirmation prompt)
npx agentvibes uninstall --yes
# Also remove global configuration
npx agentvibes uninstall --global
# Complete uninstall including Piper TTS
npx agentvibes uninstall --global --with-piper
What Gets Removed:
Project-level (default):
.claude/commands/agent-vibes/- Slash commands.claude/hooks/- TTS scripts.claude/personalities/- Personality templates.claude/output-styles/- Output styles.claude/audio/- Audio cache.claude/tts-*.txt- TTS configuration files.agentvibes/- BMAD integration files
Global (with --global flag):
~/.claude/- Global configuration~/.agentvibes/- Global cache
Piper TTS (with --with-piper flag):
~/piper/- Piper TTS installation
To Reinstall:
npx agentvibes install
๐ก Tips:
- Default uninstall only removes project-level files
- Use
--globalif you want to completely reset AgentVibes - Use
--with-piperif you also want to remove the Piper TTS engine - Run
npx agentvibes statusto check installation status
โ Frequently Asked Questions (FAQ)
Installation & Setup
Q: Does AgentVibes require git-lfs?
A: NO. AgentVibes has zero git-lfs requirement. Use npx agentvibes install - no git operations needed.
Q: Do I need to clone the GitHub repository?
A: NO (unless you're contributing code). Normal users should use npx agentvibes install. Repository cloning is only for developers who want to contribute to the project.
Q: Why is the GitHub repo so large? A: The repo includes demo files and development dependencies (node_modules). The actual npm package you download is < 50MB and optimized for users.
Q: What's the difference between npm install and git clone? A:
npx agentvibes installโ For users - Downloads pre-built package, zero git operations, instant setupgit clone ...โ For developers only - Full source code, development setup, contributing code
Q: I saw an error about git-lfs, is something wrong? A: You're likely:
- Using wrong installation method (use
npxnotgit clone) - In a different project directory that uses git-lfs
- Have global git config with lfs enabled
AgentVibes itself does NOT use or require git-lfs.
Features & Usage
Q: Does MCP consume tokens from my context window? A: YES. Every MCP tool schema adds to the context window. AgentVibes MCP is designed to be minimal (~1500-2000 tokens), but if you're concerned about token usage, you can use slash commands instead of MCP.
Q: What's the difference between using MCP vs slash commands? A:
- MCP: Natural language ("Switch to Aria voice"), uses ~1500-2000 context tokens
- Slash commands: Explicit commands (
/agent-vibes:switch Aria), zero token overhead
Both do the exact same thing - MCP is more convenient, slash commands are more token-efficient.
Q: Is AgentVibes just a bash script? A: No. AgentVibes includes:
- Multi-provider TTS abstraction (Piper TTS, macOS Say)
- Voice management system with 50+ voices
- Personality & sentiment system
- Language learning mode with bilingual playback
- Audio effects processing (reverb, EQ, compression)
- MCP server for natural language control
- BMAD integration for multi-agent voice switching
- Remote audio optimization for SSH/RDP sessions
Q: Can I use AgentVibes without BMAD? A: YES. AgentVibes works standalone. BMAD integration is optional - only activates if you install BMAD separately.
Q: What are the audio dependencies? A:
- Required: Node.js 16+, Python 3.10+ (for Piper TTS)
- Optional: sox (audio effects), ffmpeg (background music, padding)
- All TTS generation works without optional dependencies - they just enhance the experience
Voices Tab & New Features
Q: How do I browse and select voices?
A: Run npx agentvibes and press V to open the Voices tab. Use arrow keys to navigate, Space to preview voices, Enter to select/install, F to favorite, and / to search.
Q: What are friendly voice names?
A: Instead of technical IDs like en_US-ryan-high, you can now use simple names like "Ryan" when switching voices. All 904+ voices have friendly names matched to their characteristics.
Q: How do I set up custom intro text?
A: During installation, you'll be prompted for intro text. You can also configure it anytime with npx agentvibes config intro-text. Enter text like "FireBot: " and it will prefix all TTS announcements.
Q: Can I use my own background music?
A: Yes! Run npx agentvibes config music and select "Change music". Provide the path to your audio file (.mp3, .wav, .ogg, or .m4a). Files are validated for security and must be under 50MB.
Q: What's the recommended duration for custom music? A: Between 30-90 seconds is ideal for smooth looping. The system supports up to 300 seconds (5 minutes) but will warn you if the duration is non-optimal.
Q: Are friendly voice names case-sensitive? A: No! You can type "ryan", "Ryan", or "RYAN" - they all work. The voice resolution is case-insensitive.
Q: Can I favorite voices without installing them? A: Yes! In the Voices tab, press 'F' to mark any voice as a favorite. Favorites are saved and you can filter to show only favorites later.
Q: Does custom music work with all TTS providers? A: Yes! Custom background music works with Piper TTS, Soprano, macOS Say, and Windows SAPI.
Q: Can I preview music before setting it as my background?
A: Yes! When configuring custom music with npx agentvibes config music, you can select "Preview current" to hear your music. During installation, you can also sample all built-in tracks.
Q: What security measures protect custom music uploads? A: AgentVibes implements defense-in-depth security with 7 validation layers, tested against 180+ attack variations:
- Path Validation -
path.resolve()prevents traversal attacks (../, encoded, Unicode) - Home Directory Boundary - Files must be within your home directory
- File Existence Check - Verifies file actually exists
- File Type Verification - Must be a regular file (not device, socket, etc.)
- Ownership Verification - File must be owned by you (UID check)
- Format Validation - Magic number checking ensures real audio files
- Secure Storage - Files copied to restricted directory with 600 permissions
Security Certification:
- โ 100% attack rejection rate (107/107 tests passed)
- โ OWASP CWE-22 compliant (path traversal prevention)
- โ No information disclosure in error messages
- โ Production-ready and certified secure
See full security audit: docs/security/SECURITY-AUDIT.md
Q: Has the security been independently verified?
A: Yes! AgentVibes v3.6.0 includes a comprehensive security audit with 180+ attack variations tested. All path traversal, symlink, Unicode, null byte, and edge case attacks were successfully blocked (100% rejection rate). The system is OWASP CWE-22 compliant and includes a detailed security audit report at docs/security/SECURITY-AUDIT.md.
Q: What attack patterns were tested? A: The security test suite covers:
- Path Traversal: 100 variations (basic, URL-encoded, Unicode, null bytes, mixed)
- Symlink Attacks: 10 variations (sensitive files, chains, traversal targets)
- Hard Link Attacks: 5 variations (ownership verification)
- Edge Cases: 65+ variations (CRLF, whitespace, Unicode normalization, platform-specific)
Every attack was correctly rejected with no information disclosure.
Troubleshooting
Q: Why isn't Claude speaking? A: Common causes:
- Hook not installed - Run
npx agentvibes install --yes - Audio player missing - Install
soxandffmpeg - TTS protocol not enabled in settings
- Test with
/agent-vibes:sample Aria
Q: Can I use this on Windows? A: Yes! AgentVibes supports native Windows with PowerShell scripts (Soprano, Piper, SAPI providers). See Windows Native Setup. WSL is also supported for legacy workflows - see Windows WSL Guide.
Q: How do I reduce token usage? A:
- Use slash commands instead of MCP (zero context token overhead)
- Set verbosity to LOW (
/agent-vibes:verbosity low) - Disable BMAD integration if not using it
โ ๏ธ Important Disclaimers
API Costs & Usage:
- Usage is completely free with Piper TTS and Mac Say (no API costs)
- Users are solely responsible for their own API costs and usage
Third-Party Services:
- This project integrates with Piper TTS (local processing) and macOS Say (system built-in)
- We are not affiliated with, endorsed by, or officially connected to Anthropic, Apple, or Claude
- Piper TTS is subject to its terms of service
Privacy & Data:
- Piper TTS: All processing happens locally on your machine, no external data transmission
- macOS Say: All processing happens locally using Apple's built-in speech synthesis
Software License:
- Provided "as-is" under Apache 2.0 License without warranty of any kind
- See LICENSE file for full terms
- No liability for data loss, bugs, service interruptions, or any damages
Use at Your Own Risk:
- This is open-source software maintained by the community
- Always test in development before production use
- Monitor your API usage and costs regularly
๐ Credits
Built with โค๏ธ by Paul Preibisch
- ๐ฆ Twitter: @997Fire
- ๐ผ LinkedIn: paul-preibisch
- ๐ GitHub: paulpreibisch
Powered by:
- Piper TTS - Free neural voices
- Soprano TTS - Ultra-fast neural TTS
- Windows SAPI - Native Windows text-to-speech
- macOS Say - Native macOS text-to-speech
- Claude Code - AI coding assistant
- Licensed under Apache 2.0
Contributors:
- ๐ค @nathanchase - Soprano TTS Provider integration (PR #95) - Ultra-fast neural TTS with GPU acceleration
Special Thanks:
- ๐ก Claude Code Hooks Mastery by @disler - Hooks inspiration
- ๐ค BMAD METHOD - Multi-agent framework with auto voice switching integration
๐ค Contributing
If AgentVibes makes your coding more fun:
- โญ Star this repo on GitHub
- ๐ฆ Tweet and tag @997Fire
- ๐ฅ Share videos of Claude with personality
- ๐ฌ Tell dev friends about voice-powered AI
Ready to give Claude a voice? Install now and code with personality! ๐คโจ
