โ† Back to Gaming
Gaming by @paulpreibisch

agentvibesclawdbot

Apache-2.0

0
Source Code

AgentVibes Clawdbot Skill - local-gen-tts Integration

Version: 1.0.0
Author: Paul Preibisch
Repository: https://github.com/paulpreibisch/AgentVibes
License: Apache-2.0

Overview

Automatically integrates AgentVibes with Clawdbot for local TTS generation on remote devices (Android/Termux, Linux, macOS) via SSH.

What This Does

  • โœ… Automatic TTS - Every Clawdbot response speaks via AgentVibes
  • โœ… Remote Generation - Text sent to Android/device, audio generated locally
  • โœ… Full Features - Voice effects, reverb, background music
  • โœ… Low Bandwidth - Only text sent over SSH (~1-5 KB)
  • โœ… Secure - SSH key authentication, Tailscale VPN

Prerequisites

On Server (Clawdbot)

  • Clawdbot installed and running
  • SSH access to remote device
  • Workspace directory (e.g., ~/clawd)

On Remote Device (Android/Linux/macOS)

  • SSH server running (sshd)
  • Node.js installed (for auto-install of AgentVibes)
  • Tailscale (optional but recommended)

Note: AgentVibes is automatically installed on both server and remote device during setup.

Installation

Prerequisites First: SSH Setup โš ๏ธ

Before running the skill setup, you MUST set up SSH to your remote device:

  1. Generate SSH key (if you don't have one):
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N ''
  1. Copy key to remote device:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@remote-ip
  1. Test SSH connection (without password):
ssh android "echo Connected"
# Should print: Connected
  1. Add to ~/.ssh/config (optional but recommended):
Host android
    HostName your-device-ip
    User your-username
    Port 22

Once SSH works, proceed to installation.

Quick Setup

Run the installer script:

npx agentvibes install-clawdbot-skill

Manual Setup

  1. Run the setup script (AgentVibes auto-installs on both server and remote device):
cd ~/.npm-global/lib/node_modules/agentvibes

# Set your Clawdbot workspace
export CLAWDBOT_WORKSPACE=~/clawd

# Set SSH remote host (optional, defaults to 'android')
export AGENTVIBES_SSH_HOST=android

# Run setup - AgentVibes will be auto-installed if needed
bash skills/clawdbot/setup.sh

The setup script will:

  • โœ… Install AgentVibes on the server (if not present)
  • โœ… Create TTS hooks and scripts
  • โœ… SSH to your remote device and auto-install AgentVibes there
  • โœ… Configure all necessary files and permissions

What Gets Installed

1. TTS Hook (<workspace>/.claude/hooks/play-tts.sh)

Automatically called by Clawdbot for every TTS response:

#!/usr/bin/env bash
# AgentVibes Clawdbot TTS Hook
TEXT="${1:-}"
VOICE="${2:-en_US-kristin-medium}"
[[ -z "$TEXT" ]] && exit 0
bash "$WORKSPACE/local-gen-tts.sh" "$TEXT" "$VOICE" &
exit 0

2. Local Gen Script (<workspace>/local-gen-tts.sh)

Sends text to remote device for local AgentVibes generation:

#!/usr/bin/env bash
# AgentVibes local-gen-tts
ANDROID_HOST="android"
TEXT="${1:-}"
VOICE="${2:-en_US-kristin-medium}"

ssh "$ANDROID_HOST" "bash ~/.termux/agentvibes-play.sh '$TEXT' '$VOICE'" &

3. Remote Receiver (~/.termux/agentvibes-play.sh)

Installed on Android/remote device:

#!/usr/bin/env bash
# AgentVibes SSH Receiver
TEXT="$1"
VOICE="${2:-en_US-ryan-high}"
export AGENTVIBES_NO_REMINDERS=1
export AGENTVIBES_RDP_MODE=false

AGENTVIBES_ROOT="/data/data/com.termux/files/usr/lib/node_modules/agentvibes"
bash "$AGENTVIBES_ROOT/.claude/hooks/play-tts.sh" "$TEXT" "$VOICE"

4. Config Files (<workspace>/.claude/)

  • tts-provider.txt โ†’ piper
  • tts-voice.txt โ†’ Voice name (e.g., en_US-kristin-medium)
  • ssh-remote-host.txt โ†’ SSH hostname (e.g., android)

Configuration

Voices

Female voices:

  • en_US-kristin-medium - Professional, neutral (recommended)
  • en_US-lessac-medium - Warm, expressive
  • en_US-amy-medium - Friendly, conversational
  • en_US-libritts-high - Clear, high quality

Male voices:

  • en_US-ryan-high - Energetic, clear (recommended)
  • en_US-joe-medium - Casual
  • en_US-bryce-medium - Professional

Audio Effects (Optional)

Configure on remote device:

# On Android/remote
nano ~/.local/share/agentvibes/.claude/config/audio-effects.cfg

Add:

# Voice|Reverb|Music|Volume
en_US-kristin-medium|reverb 50 50 90|agentvibes_soft_flamenco_loop.mp3|0.10
en_US-ryan-high|reverb 50 50 90|agent_vibes_bachata_v1_loop.mp3|0.10

SSH Setup

Add to ~/.ssh/config:

Host android
    HostName 100.115.27.58  # Tailscale IP
    User u0_a484
    Port 52847
    IdentityFile ~/.ssh/android_key

Usage

Once installed, it's completely automatic:

You: "Hello Clawdbot"
Clawdbot: "Hello!"
โ†’ Automatically plays on Android with voice + effects

No manual commands needed!

Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Clawdbot (Server)                   โ”‚
โ”‚ โ”œโ”€ Generates text response          โ”‚
โ”‚ โ”œโ”€ Calls .claude/hooks/play-tts.sh โ”‚
โ”‚ โ”œโ”€ Calls local-gen-tts.sh          โ”‚
โ”‚ โ””โ”€ Sends TEXT via SSH              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
              โ†“ SSH/Tailscale
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Android/Remote Device               โ”‚
โ”‚ โ”œโ”€ Receives text                    โ”‚
โ”‚ โ”œโ”€ AgentVibes (Piper TTS)          โ”‚
โ”‚ โ”œโ”€ Generates audio locally          โ”‚
โ”‚ โ”œโ”€ Applies reverb + music           โ”‚
โ”‚ โ””โ”€ Plays on speakers                โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Multiple Instances

For multiple Clawdbot instances (e.g., Orian + Samuel):

# Orian (workspace: ~/clawd)
export CLAWDBOT_WORKSPACE=~/clawd
export AGENTVIBES_VOICE=en_US-kristin-medium
bash skills/clawdbot/setup.sh

# Samuel (workspace: ~/clawd2)
export CLAWDBOT_WORKSPACE=~/clawd2
export AGENTVIBES_VOICE=en_US-ryan-high
bash skills/clawdbot/setup.sh

Each instance can have:

  • Different voice
  • Different background music
  • Different audio effects

Troubleshooting

No audio on remote device

# Check SSH connection
ssh android "echo 'Connected'"

# Test receiver directly
ssh android "bash ~/.termux/agentvibes-play.sh 'Test' 'en_US-kristin-medium'"

TTS not triggering automatically

# Check hook exists
ls -la $CLAWDBOT_WORKSPACE/.claude/hooks/play-tts.sh

# Check provider set
cat $CLAWDBOT_WORKSPACE/.claude/tts-provider.txt
# Should output: piper

Wrong voice playing

# Check voice config
cat $CLAWDBOT_WORKSPACE/.claude/tts-voice.txt

# Update voice
echo "en_US-kristin-medium" > $CLAWDBOT_WORKSPACE/.claude/tts-voice.txt

Uninstall

# Remove TTS integration
rm -rf $CLAWDBOT_WORKSPACE/.claude/hooks
rm $CLAWDBOT_WORKSPACE/.claude/tts-provider.txt
rm $CLAWDBOT_WORKSPACE/.claude/tts-voice.txt
rm $CLAWDBOT_WORKSPACE/local-gen-tts.sh

# On remote device
ssh android "rm ~/.termux/agentvibes-play.sh"

Security

  • โœ… SSH key-only authentication (no passwords)
  • โœ… Text-only transmission (no executable code)
  • โœ… Tailscale VPN recommended
  • โœ… Configurable SSH port (use non-standard)

Performance

  • Latency: ~5-8 seconds (text โ†’ audio โ†’ playback)
  • Bandwidth: ~1-5 KB per message (text only)
  • Quality: Full neural TTS with effects
  • Reliability: Background execution, non-blocking

Examples

Basic Setup (Orian)

# 1. Install on server
cd ~/.npm-global/lib/node_modules/agentvibes
CLAWDBOT_WORKSPACE=~/clawd AGENTVIBES_SSH_HOST=android bash skills/clawdbot/setup.sh

# 2. Install receiver on Android
ssh android "curl -sSL https://raw.githubusercontent.com/paulpreibisch/AgentVibes/main/scripts/install-ssh-receiver.sh | bash"

# 3. Done! Send a message to Clawdbot

Advanced Setup (Multiple Instances with Different Music)

# Orian - Kristin + Flamenco
CLAWDBOT_WORKSPACE=~/clawd \
AGENTVIBES_VOICE=en_US-kristin-medium \
AGENTVIBES_MUSIC=agentvibes_soft_flamenco_loop.mp3 \
bash skills/clawdbot/setup.sh

# Samuel - Ryan + Bachata
CLAWDBOT_WORKSPACE=~/clawd2 \
AGENTVIBES_VOICE=en_US-ryan-high \
AGENTVIBES_MUSIC=agent_vibes_bachata_v1_loop.mp3 \
bash skills/clawdbot/setup.sh

Support the Project

โญ Love AgentVibes? Star the repository to support the project: ๐Ÿ‘‰ https://github.com/paulpreibisch/AgentVibes

Your star helps other developers discover this project!

Contributing

Found a bug or have a suggestion? Open an issue: https://github.com/paulpreibisch/AgentVibes/issues

License

Apache-2.0 - See LICENSE file

Credits

  • AgentVibes: Paul Preibisch
  • Clawdbot Integration: Developed with Claude AI
  • Piper TTS: Rhasspy/Home Assistant

Version: 1.0.0
Last Updated: 2026-01-30
Status: Production Ready โœ