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.
curl -fsSL https://raw.githubusercontent.com/brunobracaioli/clawdbot-voice-jarvis/main/install.sh | bashOu 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?"
O Clawdbot é poderoso e por isso requer atenção com segurança:
| Recurso | Acesso |
|---|---|
| Sistema | Executar comandos, ler/escrever arquivos |
| API Keys | OpenAI, Anthropic, ElevenLabs |
| Canais | WhatsApp, Telegram, Discord (se configurados) |
| Rede | Fazer requisições HTTP |
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 isolada2. Configure limites de gastos nas APIs
- OpenAI: https://platform.openai.com/settings/organization/limits
- Anthropic: https://console.anthropic.com/settings/limits
- ElevenLabs: https://elevenlabs.io/app/settings/billing
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á fazendo6. Não deixe rodando 24/7 sem necessidade
clawdbot gateway stop # Parar quando não estiver usandoSe quiser remover tudo:
./uninstall.shO 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.
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)
| 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.
- 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
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 via script oficial
curl -fsSL https://clawd.bot/install.sh | bash
# Rodar wizard de configuração
clawdbot onboard --install-daemon# 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 customizadaEdite ~/.clawdbot/clawdbot.json:
clawdbot gateway restart
# ou
clawdbot daemon restart# 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!| 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!
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
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| 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 |
- ✅ 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
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
# 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- Sempre ligado, esperando você dizer "Jarvis"
- Funciona em macOS, iOS e Android
- Customizável com múltiplas palavras
- Conversa bidirecional contínua
- TTS com ElevenLabs (vozes realistas)
- Interrupção automática quando você fala
- Transcrição com Whisper/Deepgram
- Ligações outbound via Twilio
- O agente pode ligar para você ou terceiros
- Ideal para lembretes, reservas, etc.
- macOS: Menu bar app com Voice Wake nativo
- iOS: App com Talk Mode e Canvas
- Android: App com Talk Mode
# Verificar permissões de microfone
clawdbot doctor
# Verificar se o gateway está rodando
clawdbot gateway status# 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- Documentação Clawdbot
- GitHub Clawdbot
- ElevenLabs API
- Voice Wake Docs
- Talk Mode Docs
- Voice Call Plugin
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
MIT License - Veja LICENSE para mais detalhes.
Este projeto segue a mesma licença do Clawdbot.
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 🦞
{ // 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 } }