Sistema multi-agente local com comandos de voz e integração com Gemini API.
- Gera relatórios diários de trabalho
- Cria resumos semanais
- Rastreia atividades
- Relatórios personalizados
- Cria arquivos de código
- Revisa código
- Gera documentação
- Sugere refatorações
- Assistência geral de desenvolvimento
- Gera paletas de cores
- Sugere layouts
- Recomenda tipografia
- Design de componentes
- Análise de tendências
local-agent/
├── app/
│ ├── agents/
│ │ ├── __init__.py
│ │ ├── base_agent.py
│ │ ├── report_agent.py
│ │ ├── dev_assistant.py
│ │ └── designer_assistant.py
│ ├── voice/
│ │ ├── __init__.py
│ │ └── voice_handler.py
│ ├── utils/
│ │ ├── __init__.py
│ │ └── logger.py
│ ├── main.py
│ └── scheduler.py
├── data/
│ ├── models/
│ │ └── vosk-model-small/ # Extrair aqui o modelo Vosk
│ ├── workspace/ # Arquivos criados pelo DevAssistant
│ └── assets/ # Assets do DesignerAssistant
├── reports/ # Relatórios gerados
├── logs/ # Logs do sistema
├── docker-compose.yml
├── Dockerfile
├── requirements.txt
├── .env
└── README.md# 1. Rodar setup
chmod +x setup.sh
./setup.sh
# 2. Editar .env com sua API key
nano .env
# Adicione: GEMINI_API_KEY=sua_chave_aqui
# 3. Build Docker
docker-compose build
# 4. Iniciar serviços
docker-compose up -d
# 5. Ver logs
docker-compose logs -fO modelo Vosk deve estar em: data/models/vosk-model-small/
Estrutura esperada:
data/models/vosk-model-small/
├── am/
├── conf/
├── graph/
└── ivector/
# Listar agentes disponíveis
GET http://localhost:8000/agents
# Executar tarefa
POST http://localhost:8000/task
{
"agent": "report",
"task": "Gerar relatório diário",
"context": {}
}
# Comando de voz
POST http://localhost:8000/voice/command?duration=5
# Gerar relatório diário
POST http://localhost:8000/report/generate
# Listar relatórios
GET http://localhost:8000/reports
# Criar arquivo (DevAssistant)
POST http://localhost:8000/dev/create-file?path=test.py&content=print('hello')
# Health check
GET http://localhost:8000/health- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
| Comando | Agente | Ação |
|---|---|---|
| "relatório diário" | ReportAgent | Gera relatório do dia |
| "criar arquivo [nome]" | DevAssistant | Cria novo arquivo |
| "revisar código" | DevAssistant | Revisa código |
| "paleta de cores" | DesignerAssistant | Gera paleta |
| "sugerir layout" | DesignerAssistant | Sugere layout |
| "ajuda" | Sistema | Lista comandos |
| "status" | Sistema | Status do sistema |
# Via curl
curl -X POST "http://localhost:8000/voice/command?duration=5"
# Via Python
import requests
response = requests.post("http://localhost:8000/voice/command?duration=5")
print(response.json())O scheduler executa automaticamente:
- 18:00 - Relatório diário (segunda a sexta)
- 00:00 - Backup de logs
- 17:00 (sexta) - Relatório semanal
Editar em app/scheduler.py para customizar horários.
import requests
response = requests.post(
"http://localhost:8000/task",
json={
"agent": "report",
"task": "Gerar relatório diário",
"context": None
}
)
print(response.json())import requests
response = requests.post(
"http://localhost:8000/task",
json={
"agent": "dev",
"task": "Criar arquivo Python com uma função para calcular fibonacci",
"context": {
"filepath": "fibonacci.py",
"language": "python"
}
}
)
print(response.json())import requests
response = requests.post(
"http://localhost:8000/task",
json={
"agent": "designer",
"task": "Paleta de cores para app de finanças",
"context": {
"mood": "professional",
"brand_colors": ["#2E7D32"]
}
}
)
print(response.json())# Diga "relatório diário" no microfone
curl -X POST "http://localhost:8000/voice/command?duration=5"# Ver logs em tempo real
docker-compose logs -f
# Reiniciar serviços
docker-compose restart
# Parar serviços
docker-compose down
# Rebuild após mudanças
docker-compose up -d --build
# Executar comando dentro do container
docker-compose exec agent-api bash
# Ver status dos containers
docker-compose ps- Localização:
./reports/ - Formato: Markdown (.md)
- Nomenclatura:
daily_report_YYYY-MM-DD.md
- Localização:
./logs/ - Tipos:
app_YYYY-MM-DD.log- Logs da aplicaçãoactivity_YYYY-MM-DD.jsonl- Atividades rastreadas
- Localização:
./data/workspace/ - Arquivos criados pelo DevAssistant
- Localização:
./data/assets/ - Paletas, layouts, etc.
# Verificar se modelo está correto
ls -la data/models/vosk-model-small/
# Deve ter: am/, conf/, graph/, ivector/# Dar permissões aos diretórios
chmod -R 777 data/ reports/ logs/# Verificar logs
docker-compose logs agent-api
# Reiniciar
docker-compose restart agent-api# Verificar .env
cat .env
# Testar API key
curl -H "x-goog-api-key: YOUR_KEY" \
"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent" \
-H 'Content-Type: application/json' \
-X POST \
-d '{"contents":[{"parts":[{"text":"Hello"}]}]}'- Testar comandos básicos via API
- Configurar microfone para comandos de voz
- Customizar horários do scheduler
- Adicionar novos agentes conforme necessário
- Integrar com ferramentas (Git, IDE, etc.)
- Sistema 100% gratuito
- Funciona offline (exceto chamadas Gemini API)
- Modelo Vosk: português brasileiro
- Timezone: Africa/Luanda (configurável em .env)
Para problemas ou dúvidas:
- Verificar logs:
docker-compose logs -f - Testar health check:
curl http://localhost:8000/health - Ver documentação: http://localhost:8000/docs
Desenvolvido para automatizar tarefas e aumentar produtividade! 🚀
local-agent/
├── app/
│ ├── agents/
│ │ ├── __init__.py
│ │ ├── base_agent.py
│ │ ├── report_agent.py
│ │ ├── dev_assistant.py
│ │ └── designer_assistant.py
│ ├── voice/
│ │ ├── __init__.py
│ │ └── voice_handler.py
│ ├── utils/
│ │ ├── __init__.py
│ │ └── logger.py
│ ├── main.py
│ └── scheduler.py
├── data/
│ ├── models/
│ │ └── vosk-model-small/ # Extrair aqui o modelo Vosk
│ ├── workspace/ # Arquivos criados pelo DevAssistant
│ └── assets/ # Assets do DesignerAssistant
├── reports/ # Relatórios gerados
├── logs/ # Logs do sistema
├── docker-compose.yml
├── Dockerfile
├── requirements.txt
├── .env
└── README.md