🦆 Duckduki - Documentação Completa
Assistente Desktop Inteligente com IA Generativa Multiplataforma
O que é o Duckduki?
O Duckduki é um assistente desktop multiplataforma (Windows, macOS, Linux) que utiliza inteligência artificial generativa para maximizar sua produtividade. Integra-se com múltiplos provedores de IA (Groq, OpenAI, Google Gemini) oferecendo análise de código, automação de tarefas, monitoramento inteligente e muito mais.
🌟 Características Principais
🤖 IA Generativa Avançada
- Múltiplos Provedores: Groq (LLaMA 3), OpenAI (GPT-4o), Google Gemini
- Processamento Contextual: Analisa contexto e histórico de conversas
- Ferramentas Inteligentes: +20 ferramentas integradas para automação
🎯 Automação Inteligente
- Detecção de Contexto: Monitora aplicativos ativos e oferece sugestões
- Análise de Código: Integração com VS Code e análise automática
- Build Automático: Detecção e execução de builds (Node.js, Rust, Java, etc.)
📧 Gestão de Comunicação
- Resumos de Email: Análise IMAP com resumos inteligentes
- Integração Google: Calendar, Tasks e Gmail
- Notificações Contextuais: Alertas personalizados
📦 Instalação Completa
🔧 Requisitos do Sistema
💻 Software Básico
- Node.js 18+ (recomendado: 20+)
- npm 8+ ou yarn 1.22+
- Git 2.20+
- Electron-compatible OS
🐧 Dependências Linux
# Ubuntu/Debian
sudo apt update
sudo apt install libsecret-1-dev libxss1 libgconf-2-4
# Fedora/RHEL
sudo dnf install libsecret-devel libXScrnSaver GConf2
# Arch Linux
sudo pacman -S libsecret libxss gconf
🚀 Instalação Rápida
# 1. Clonar repositório
git clone https://github.com/seu-usuario/duckduki.git
cd duckduki
# 2. Setup automático (instala deps + configura ambiente)
npm run setup
# 3. Desenvolvimento
npm run dev
# 4. Build para produção
npm run build
# 5. Distribuição
npm run dist
🔑 Configuração de API Keys
Após a instalação, você precisará configurar pelo menos um provedor de IA:
- Groq (Recomendado): console.groq.com - Acesso gratuito, velocidade ultra-rápida
- OpenAI: platform.openai.com - Modelos GPT-4
- Google AI: aistudio.google.com - Gemini models
📦 Scripts Disponíveis
Comando | Descrição |
---|---|
npm run setup | Configuração inicial automática |
npm run dev | Modo desenvolvimento |
npm run build | Build para produção |
npm run dist | Criar executáveis |
npm run dist:win | Build Windows (.exe) |
npm run dist:mac | Build macOS (.dmg) |
npm run dist:linux | Build Linux (.AppImage) |
⚙️ Configuração Avançada
🤖 Provedores de IA Suportados
🚀 Groq (Recomendado)
Vantagens: Velocidade ultra-rápida, acesso gratuito generoso
Modelos disponíveis:
llama3-8b-8192
(padrão) - Balanceado, rápidollama3-70b-8192
- Mais inteligente, qualidade superiormixtral-8x7b-32768
- Excelente para códigogemma-7b-it
- Otimizado para instruções
# Configuração
1. Acesse: https://console.groq.com
2. Criar conta gratuita
3. Gerar API Key
4. Colar no Duckduki > Configurações > IA > Groq
🧠 OpenAI
Vantagens: Modelos mais avançados, melhor compreensão
Modelos disponíveis:
gpt-4o-mini
(padrão) - Custo-benefíciogpt-4o
- Estado da artegpt-4-turbo
- Rápido e potentegpt-3.5-turbo
- Econômico
🌟 Google Gemini
Vantagens: Multimodal, análise de contexto longo
Modelos disponíveis:
gemini-1.5-flash
(padrão) - Rápido e eficientegemini-1.5-pro
- Máxima qualidadegemini-2.5-flash
- Nova geraçãogemini-2.0-pro
- Estado da arte do Google
📧 Configuração de Email (IMAP)
Gmail
- Ative a verificação em 2 etapas na conta Google
- Gere uma "Senha de app" específica para Duckduki
- Use essa senha no campo "Senha" do Duckduki
- Servidor:
imap.gmail.com:993 (SSL)
Outlook/Hotmail
- Use suas credenciais normais
- Certifique-se que IMAP está habilitado
- Servidor:
outlook.office365.com:993 (SSL)
🔗 Integração Google Services
Para usar Calendar e Tasks do Google:
- Acesse Google Cloud Console
- Crie um projeto ou use existente
- Ative APIs: Calendar API, Tasks API
- Crie credenciais OAuth 2.0
- Configure no Duckduki > Configurações > Google
🎯 Guia Completo de Uso
🚀 Atalhos Globais
Ação | Windows/Linux | macOS |
---|---|---|
Abrir Duckduki | Ctrl+Shift+Space | Cmd+Shift+Space |
Modo Chat | Ctrl+Shift+A | Cmd+Shift+A |
Fechar Interface | Esc | Esc |
💬 Comandos de IA e Automação
📧 Gestão de Email
resumo dos emails
- Análise inteligente da caixa de entradaemails importantes hoje
- Filtra emails prioritáriosresponder email sobre [assunto]
- Gera rascunho de resposta
👨💻 Desenvolvimento
analisar código atual
- Análise do código abertoexecutar build
- Build automático do projetoexecutar testes
- Roda testes unitáriosdeploy para produção
- Deploy automatizadorevisar pull request
- Análise de code review
📅 Produtividade
planejar meu dia
- Organização inteligente de agendacriar reunião sobre [assunto]
- Agendar no Google Calendaradicionar tarefa: [descrição]
- Nova tarefa com IAstatus das tarefas
- Relatório de progressoresumo do dia
- Overview de eventos e tarefas
💡 Criatividade e Pesquisa
tendências tech
- Últimas novidades tecnológicaspesquisar sobre [assunto]
- Busca contextualgerar ideias para [projeto]
- Brainstorming assistidoexplicar [conceito]
- Explicações detalhadas
🎙️ Comandos por Voz
O Duckduki suporta entrada por voz em português brasileiro:
- Clique no ícone do microfone 🎤
- Fale seu comando naturalmente
- Clique novamente para parar a gravação
- O comando será processado automaticamente
🔧 Ferramentas Integradas (AI Tools)
📋 Gestão de Tarefas
- Análise Inteligente: IA detecta urgência e prioridade
- Sistema de Prioridades: 🔴 Crítica, 🟠 Alta, 🟡 Média, 🟢 Baixa
- Filtros Avançados: Por status, prioridade, categoria
- Sincronização: Google Tasks integration
📅 Calendar Management
- Criação de Eventos: Linguagem natural → Calendar
- Análise de Conflitos: Detecção automática de sobreposições
- Sugestões de Horários: Based em padrões de uso
- Resumos Inteligentes: Overview diário/semanal
💻 System Monitoring
- Status de Sistema: CPU, RAM, processos
- Detecção de Apps: Monitora aplicação ativa
- Sugestões Contextuais: Based no app em uso
- Performance Alerts: Avisos de alta utilização
🔧 API Reference & Arquitetura
🏗️ Arquitetura do Sistema
Componentes Principais
- Main Process (Electron): Gerencia janelas, IPC, e serviços do sistema
- Renderer Process (React): Interface de usuário e interações
- AI Manager: Orquestra provedores de IA e ferramentas
- Security Manager: Gerencia chaves API e armazenamento seguro
- Knowledge Service: Base de conhecimento e contexto
🤖 AI Tools Framework
Email Tools
getEmailSummary()
↳ Conecta via IMAP
↳ Analisa emails recentes
↳ Gera resumo inteligente com IA
↳ Retorna: { summary, priority_emails, stats }
Task Management Tools
addTask(description)
↳ Análise de linguagem natural
↳ Extrai: urgência, facilidade, categoria
↳ Define prioridade automática
↳ Salva no banco local + Google Tasks
getTasks(status?, priority?)
↳ Filtros opcionais
↳ Retorna tarefas formatadas
↳ Incluí estatísticas e insights
Google Integration Tools
createCalendarEvent(title, start, end, description?)
↳ OAuth2 authentication
↳ Conflict detection
↳ Calendar integration
getGoogleDayOverview()
↳ Combina Calendar + Tasks
↳ Análise de carga de trabalho
↳ Sugestões de otimização
System Monitoring Tools
getSystemStatus()
↳ CPU, RAM, active processes
↳ Active window detection
↳ Performance insights
analyzeCurrentCode()
↳ Detecta projeto ativo
↳ Analisa código no editor
↳ Sugestões de melhorias
🔌 Extensibilidade
Criando Novas Ferramentas
// Exemplo: Nova ferramenta customizada
class CustomTool {
async execute(parameters) {
// Lógica da ferramenta
return { success: true, data: result };
}
getDefinition() {
return {
name: 'custom_tool',
description: 'Descrição da ferramenta',
parameters: {
// Schema Zod para validação
}
};
}
}
Registrando Ferramentas
// Em AIToolsService
this.tools.set('custom_tool', new CustomTool());
// Schema para IA
tools: {
custom_tool: {
description: 'Executa função customizada',
parameters: z.object({
input: z.string()
})
}
}
📊 Storage & Data
Electron Store (Configurações)
- Configurações de UI e preferências
- Estado da aplicação
- Cache de dados não sensíveis
Keychain/Keytar (Chaves Seguras)
- API keys dos provedores de IA
- Credenciais de email
- Tokens OAuth
Knowledge Base (SQLite)
- Histórico de conversas
- Notas e documentação
- Cache de contexto
🔧 Troubleshooting Avançado
🚨 Problemas Críticos
❌ Aplicativo não Inicia
Sintomas: Aplicativo fecha imediatamente ou tela branca
Soluções:
# 1. Limpar cache e dependências
rm -rf node_modules package-lock.json
npm install
# 2. Rebuild nativo modules
npm run rebuild
# 3. Verificar compatibilidade Electron
npm ls electron
🔑 API Keys não Salvam
Sintomas: Chaves desaparecem após reiniciar
Soluções por Plataforma:
🐧 Linux
# Instalar libsecret
sudo apt install libsecret-1-dev # Ubuntu/Debian
sudo dnf install libsecret-devel # Fedora
sudo pacman -S libsecret # Arch
# Verificar keyring
gnome-keyring-daemon --version
🍎 macOS
# Verificar Keychain Access
security find-generic-password -a "duckduki"
# Reset keychain se necessário
security delete-generic-password -a "duckduki"
🪟 Windows
# Verificar Windows Credential Manager
cmdkey /list | findstr "duckduki"
# Executar como administrador se necessário
⚠️ Problemas de Conectividade
🌐 Erro de API Groq/OpenAI
Mensagens típicas: "API key invalid", "Rate limit exceeded"
Diagnóstico:
# Testar chave Groq
curl -H "Authorization: Bearer SEU_KEY" \
https://api.groq.com/openai/v1/models
# Testar chave OpenAI
curl -H "Authorization: Bearer SEU_KEY" \
https://api.openai.com/v1/models
Soluções:
- Verificar validade da chave na console do provedor
- Verificar limites de uso/billing
- Tentar provedor alternativo
- Verificar firewall/proxy corporativo
📧 Problemas de Email IMAP
Gmail:
- Ativar 2FA na conta Google
- Gerar senha específica para app
- Verificar se IMAP está habilitado
Outlook:
- Usar credenciais normais (não senha de app)
- Verificar configurações IMAP no Outlook.com
- Tentar OAuth se disponível
🐛 Problemas de Performance
💻 Alto Uso de CPU/RAM
Diagnóstico:
# Monitorar processos Electron
ps aux | grep -i electron
top -p $(pgrep -f duckduki)
# Windows
tasklist | findstr electron
Otimizações:
- Reduzir frequência de monitoramento de sistema
- Limpar cache de conhecimento antigo
- Desabilitar recursos não utilizados
- Ajustar configurações de IA (modelos menores)
🔄 Interface Travando
Soluções:
- Abrir DevTools: Ctrl+Shift+I
- Verificar erros no console
- Reiniciar processo renderer
- Limpar cache da aplicação
🔧 Ferramentas de Debug
📊 Logs do Sistema
# Localização dos logs
# Linux: ~/.config/duckduki/logs/
# macOS: ~/Library/Logs/duckduki/
# Windows: %APPDATA%/duckduki/logs/
# Executar com debug verbose
DEBUG=* npm run dev
# Logs específicos
DEBUG=duckduki:* npm run dev
🔍 Modo Debug Avançado
# Habilitar DevTools por padrão
export ELECTRON_ENABLE_DEVTOOLS=1
# Desabilitar segurança para debug
export ELECTRON_DISABLE_SECURITY_WARNINGS=1
# Debug específico de módulos
export DEBUG=ai-tools,email-service,groq-client
📞 Suporte
Se os problemas persistirem:
- 📁 Coletar logs: Anexar arquivos de log relevantes
- 💻 Info do sistema: OS, versão Node.js, versão Electron
- 📝 Passos para reproduzir: Detalhar o que estava fazendo
- 🐛 Abrir issue: GitHub repository com todas as informações
👨💻 Guia de Desenvolvimento
🏗️ Estrutura do Projeto
duckduki/
├── src/
│ ├── main/ # Processo principal (Electron)
│ │ ├── index.ts # Entry point e configuração IPC
│ │ ├── aiManager.ts # Orquestrador de IA
│ │ ├── aiProviders/ # Clientes de IA (Groq, OpenAI, Google)
│ │ ├── aiTools/ # Ferramentas integradas
│ │ ├── aiToolsService.ts # Coordenador de ferramentas
│ │ ├── securityManager.ts # Gestão segura de chaves
│ │ ├── knowledgeService.ts # Base de conhecimento
│ │ ├── emailService.ts # Integração IMAP
│ │ ├── processMonitor.ts # Monitoramento de sistema
│ │ └── deployService.ts # Automação de builds
│ ├── renderer/ # Interface React
│ │ ├── App.tsx # Componente principal
│ │ ├── components/ # Componentes UI
│ │ ├── contexts/ # Context providers
│ │ ├── settings/ # Painel de configurações
│ │ └── widgets/ # Widgets especializados
│ └── preload.ts # Bridge segura IPC
├── assets/ # Recursos estáticos
├── docs/ # Documentação
└── release/ # Builds de distribuição
🔧 Setup de Desenvolvimento
# 1. Fork e clone
git clone https://github.com/seu-usuario/duckduki.git
cd duckduki
# 2. Instalar dependências
npm install
# 3. Setup ambiente de desenvolvimento
npm run setup
# 4. Executar em modo dev (hot reload)
npm run dev
# 5. Build para teste
npm run build
# 6. Rodar testes
npm test
🎯 Contribuindo
🐛 Reportando Bugs
- Verificar issues existentes
- Usar template de bug report
- Incluir logs e informações do sistema
- Passos claros para reproduzir
✨ Novos Recursos
- Abrir discussion para feedback
- Implementar com testes
- Documentar na docs/
- Seguir padrões de código existentes
🔧 Adicionando Novas AI Tools
// 1. Criar nova tool em src/main/aiTools/
export class NovaFerramenta {
async execute(params: any) {
// Lógica da ferramenta
return { success: true, data: resultado };
}
getDefinition() {
return {
name: 'nova_ferramenta',
description: 'Descrição da ferramenta',
parameters: {
type: 'object',
properties: {
input: { type: 'string' }
}
}
};
}
}
// 2. Registrar em AIToolsService
import { NovaFerramenta } from './aiTools/novaFerramenta';
// Em constructor:
this.novaFerramenta = new NovaFerramenta();
// Em processWithToolsStream:
nova_ferramenta: {
description: 'Executa nova funcionalidade',
parameters: z.object({
input: z.string()
}),
execute: async ({ input }) => {
const result = await this.novaFerramenta.execute({ input });
return result.success ? `✅ ${result.data}` : `❌ Erro`;
}
}
🧪 Testing
# Testes unitários
npm run test:unit
# Testes de integração
npm run test:integration
# Test coverage
npm run test:coverage
# Testar build em todas as plataformas
npm run test:build
📋 Changelog
v2.1.0 (Current)
🆕 Novos Recursos
- Suporte completo para Google Gemini (multiple models)
- Sistema de ferramentas de IA expandido (20+ tools)
- Integração avançada com Google Calendar e Tasks
- Monitoramento inteligente de sistema
- Interface aprimorada com modo tela cheia
🔧 Melhorias
- Performance de streaming de IA otimizada
- Gestão de contexto e histórico melhorada
- Sistema de prioridades de tarefas refinado
- Segurança de armazenamento de chaves fortalecida
🐛 Correções
- Problemas de conectividade IMAP resolvidos
- Vazamentos de memória em monitoramento corrigidos
- Compatibilidade com Linux Wayland melhorada
v2.0.0
🚀 Grandes Mudanças
- Arquitetura de múltiplos provedores de IA
- Sistema de ferramentas de IA (AI Tools)
- Interface React completamente redesenhada
- Base de conhecimento integrada
💥 Breaking Changes
- Configuração de API keys redesenhada
- Comandos de voz reestruturados
- Migração automática de configurações v1.x
v1.5.0
🆕 Recursos
- Suporte inicial para OpenAI GPT-4
- Quadro de ideias (tech feeds)
- Atalhos globais multiplataforma
- Integração com VS Code
v1.0.0
🎉 Lançamento Inicial
- Assistente desktop com Groq LLaMA
- Resumos inteligentes de email
- Análise básica de código
- Automação de builds
- Interface desktop flutuante