Skip to content

Skill para transformar Clawdbot em assistente de voz Jarvis com ElevenLabs

License

Notifications You must be signed in to change notification settings

mgabrielramos/clawdbot-jarvis-voice

 
 

Repository files navigation

🦞 Clawdbot Voice Jarvis

License: MIT Based on Clawdbot ElevenLabs Platform

Transforme seu Clawdbot em um Jarvis da vida real com ElevenLabs!

⚠️ Este projeto é uma configuração/skill para o Clawdbot, o assistente pessoal de IA open-source criado por Peter Steinberger. Todo o crédito do core vai para a equipe do Clawdbot.

⚡ Instalação em Uma Linha

curl -fsSL https://raw.githubusercontent.com/brunobracaioli/clawdbot-voice-jarvis/main/install.sh | bash

Ou com opções:

# Escolher voz e palavra de ativação
curl -fsSL https://raw.githubusercontent.com/brunobracaioli/clawdbot-voice-jarvis/main/install.sh | bash -s -- --voice taciane --wake-word "jarvis,hey jarvis"

# Com chave ElevenLabs
curl -fsSL https://raw.githubusercontent.com/brunobracaioli/clawdbot-voice-jarvis/main/install.sh | bash -s -- --elevenlabs-key "sua_chave"

🪟 Windows: Execute o comando acima dentro do Ubuntu (WSL2), não no PowerShell.

Usuário: "Jarvis, tudo bem?"
Jarvis:  "Olá! Tudo ótimo por aqui. Como posso te ajudar?"

🔐 Segurança (LEIA ANTES DE INSTALAR)

O Clawdbot é poderoso e por isso requer atenção com segurança:

⚠️ O que o Clawdbot pode acessar

Recurso Acesso
Sistema Executar comandos, ler/escrever arquivos
API Keys OpenAI, Anthropic, ElevenLabs
Canais WhatsApp, Telegram, Discord (se configurados)
Rede Fazer requisições HTTP

🛡️ Boas Práticas de Segurança

1. Use uma Máquina Virtual ou Container (Recomendado)

# Opção 1: VM com VirtualBox/VMware
# Instale Ubuntu em uma VM e rode o Clawdbot lá

# Opção 2: Docker (isolamento de container)
# Em breve: Dockerfile para execução isolada

2. Configure limites de gastos nas APIs

3. Use API keys dedicadas

  • Crie keys específicas para o Clawdbot
  • Não use suas keys principais de produção

4. Não vincule contas pessoais

  • Use um número de WhatsApp secundário (chip pré-pago)
  • Crie um bot de Telegram dedicado
  • Use conta Discord separada

5. Monitore os logs

clawdbot logs -f  # Ver tudo que o agente está fazendo

6. Não deixe rodando 24/7 sem necessidade

clawdbot gateway stop  # Parar quando não estiver usando

🧹 Desinstalação Completa

Se quiser remover tudo:

./uninstall.sh

O script remove arquivos locais, mas você DEVE fazer manualmente:

  • ❌ Revogar API keys (OpenAI, Anthropic, ElevenLabs)
  • ❌ Desvincular WhatsApp no celular
  • ❌ Deletar/revogar bot do Telegram
  • ❌ Resetar token do Discord

Veja SECURITY.md para guia completo de segurança e desinstalação.


🎯 O que é isso?

Este repositório contém configurações, skills e templates para transformar o Clawdbot em um assistente de voz estilo "Jarvis" usando:

  • Voice Wake - Ativação por palavra ("Hey Jarvis")
  • Talk Mode - Conversa bidirecional contínua
  • ElevenLabs TTS - Vozes realistas em português brasileiro
  • Voice Call - Ligações telefônicas (opcional)

💻 Compatibilidade

Plataforma Suporte Voice Wake Talk Mode Voice Call
macOS ✅ Nativo ✅ App Menu Bar
Linux ✅ Nativo ✅ talk.py
Windows ✅ Via WSL2 ✅ talk.py
iOS ✅ App -
Android ✅ App -

⚠️ Windows: Requer WSL2 (Ubuntu recomendado). Não funciona nativamente no Windows.

📋 Pré-requisitos

  • Clawdbot instalado e funcionando (instalação)
  • OpenAI API Key ou Anthropic API Key (OpenAI | Anthropic)
  • ElevenLabs API Key (obter aqui)
  • Node.js >= 22
  • macOS, Linux ou Windows com WSL2

🪟 Windows - Configuração WSL2

O Clawdbot não funciona nativamente no Windows. Você precisa usar WSL2:

# 1. Abrir PowerShell como Administrador e instalar WSL2
wsl --install

# 2. Reiniciar o computador

# 3. Abrir Ubuntu (WSL2) e continuar a instalação lá

Depois, dentro do terminal Ubuntu (WSL2), siga as instruções normais de Linux abaixo.

🚀 Instalação Rápida (5 minutos)

1. Instalar o Clawdbot (se ainda não tiver)

# Instalação via script oficial
curl -fsSL https://clawd.bot/install.sh | bash

# Rodar wizard de configuração
clawdbot onboard --install-daemon

2. Configurar ElevenLabs

# Via CLI interativo
clawdbot configure --section talk

# Ou defina a variável de ambiente
export ELEVENLABS_API_KEY="f2f9c3d044a4b1..."
export ELEVENLABS_VOICE_ID="pMsXgVXv3BLzUgSXRplE"  # Ou sua voz customizada

3. Configurar Voice Wake (palavra de ativação)

Edite ~/.clawdbot/clawdbot.json:

{
  // Configuração de Talk Mode com ElevenLabs
  "talk": {
    "voiceId": "pMsXgVXv3BLzUgSXRplE",  // Voz ElevenLabs
    "modelId": "eleven_turbo_v2_5",      // Modelo de TTS
    "interruptOnSpeech": true,           // Interromper quando usuário fala
    "outputFormat": "mp3_44100_128"
  },
  
  // Palavras de ativação (como "Hey Jarvis")
  "voicewake": {
    "triggers": ["jarvis", "ei jarvis", "hey jarvis", "oi jarvis"]
  },
  
  // Skills e plugins
  "skills": {
    "enabled": true
  }
}

4. Reiniciar o Gateway

clawdbot gateway restart
# ou
clawdbot daemon restart

5. Testar!

# No macOS, ative Voice Wake no app de menu bar
# Ou use o TUI
clawdbot tui

# Diga "Jarvis, tudo bem?" e veja a mágica acontecer!

🎙️ Vozes Brasileiras Recomendadas (ElevenLabs)

Voice ID Nome Gênero Descrição
oqUwsXKac3MSo4E51ySV Taciane F Profissional e acolhedora
ZqE9vIHPcrC35dZv0Svu Adam Borges M Confiante e persuasivo
UZ8QqWVrz7tMdxiglcLh Lívia F Amigável e natural
rnJZLKxtlBZt77uIED10 Sérgio M Sério e profissional
pMsXgVXv3BLzUgSXRplE Josh (EN) M Padrão ElevenLabs

💡 Você pode criar sua própria voz no ElevenLabs com voice cloning!

📁 Estrutura do Projeto

clawdbot-voice-jarvis/
├── README.md                    # Este arquivo
├── SECURITY.md                  # Guia de segurança e desinstalação
├── install.sh                   # Instalador automático
├── uninstall.sh                 # Desinstalador completo
├── talk.py                      # Talk Mode para terminal (Linux/WSL)
├── config/
│   ├── clawdbot.json           # Configuração de exemplo
│   └── settings/
│       └── voicewake.json      # Wake words
├── workspace/
│   ├── IDENTITY.md             # Identidade do Jarvis
│   └── SOUL.md                 # Valores e comportamento
├── skill/
│   └── jarvis-voice/
│       ├── SKILL.md            # Documentação do skill
│       └── package.json        # Metadados do skill
└── src/
    └── elevenlabs-tts-provider.ts  # Provider TTS customizado

🐍 Talk Mode para Terminal (talk.py)

Para Linux e WSL2, incluímos o talk.py - uma interface de voz completa no terminal:

# Instalar dependências Python
pip install sounddevice numpy requests python-dotenv pygame

# Rodar
python talk.py

Modos de Operação

Modo Descrição
[1] Push-to-Talk Aperte Enter para falar
[2] Wake Word Diga "Jarvis" para ativar
[3] Contínuo Conversa livre sem interrupção
[t] Texto Digite ao invés de falar

Características

  • ✅ Integração total com Clawdbot (lê configs de ~/.clawdbot/)
  • ✅ Transcrição com OpenAI Whisper
  • ✅ TTS com ElevenLabs (vozes brasileiras)
  • ✅ Detecção automática de silêncio
  • ✅ Wake word detection

⚙️ Configuração Completa

Veja o arquivo config/clawdbot.json para uma configuração completa com:

  • ✅ Talk Mode com ElevenLabs
  • ✅ Voice Wake com múltiplas palavras
  • ✅ Voice Call para ligações (opcional)
  • ✅ Transcrição de áudio
  • ✅ Personalização de identidade

🔧 Comandos Úteis

# Status do sistema
clawdbot status --deep

# Logs em tempo real
clawdbot logs -f

# Testar voice wake
clawdbot wake test

# Fazer uma ligação (se voice-call estiver configurado)
clawdbot voicecall call --to "+5511999999999" --message "Olá, aqui é o Jarvis!"

# Dashboard web
clawdbot dashboard

🎯 Funcionalidades

Voice Wake (Palavra de Ativação)

  • Sempre ligado, esperando você dizer "Jarvis"
  • Funciona em macOS, iOS e Android
  • Customizável com múltiplas palavras

Talk Mode (Conversa por Voz)

  • Conversa bidirecional contínua
  • TTS com ElevenLabs (vozes realistas)
  • Interrupção automática quando você fala
  • Transcrição com Whisper/Deepgram

Voice Call (Ligações Telefônicas)

  • Ligações outbound via Twilio
  • O agente pode ligar para você ou terceiros
  • Ideal para lembretes, reservas, etc.

📱 Apps Companion

  • macOS: Menu bar app com Voice Wake nativo
  • iOS: App com Talk Mode e Canvas
  • Android: App com Talk Mode

🐛 Troubleshooting

Voice Wake não funciona

# Verificar permissões de microfone
clawdbot doctor

# Verificar se o gateway está rodando
clawdbot gateway status

ElevenLabs não reproduz áudio

# Verificar API key
echo $ELEVENLABS_API_KEY

# Testar TTS manualmente
curl -X POST "https://api.elevenlabs.io/v1/text-to-speech/pMsXgVXv3BLzUgSXRplE" \
  -H "xi-api-key: $ELEVENLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Teste de voz"}' \
  --output test.mp3

📚 Recursos

🙏 Créditos

Este projeto é construído sobre o incrível trabalho do Clawdbot:

  • Clawdbot - Criado por Peter Steinberger e contribuidores
  • ElevenLabs - API de Text-to-Speech de alta qualidade
  • Twilio - Infraestrutura de telefonia para Voice Call

📄 Licença

MIT License - Veja LICENSE para mais detalhes.

Este projeto segue a mesma licença do Clawdbot.

⭐ Star History

Se este projeto te ajudou, considere dar uma ⭐ nesse projeto e no Clawdbot original!


Criado por Bruno Bracaioli | Bracaioli Tech

Para implementações customizadas ou suporte empresarial: 📧 bruno@b2tech.io

Baseado no Clawdbot 🦞

About

Skill para transformar Clawdbot em assistente de voz Jarvis com ElevenLabs

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 58.4%
  • Python 31.5%
  • TypeScript 10.1%