Skyler Assistant
Skyler é o assistente de portfólio público de Patrick Araujo, focado no contexto do projeto, conjunto técnico, experiência profissional e orientação de contato.
O assistente foi projetado para orquestração previsível: saudação simples, resposta local, uso RAG manual e chamadas LLM somente quando necessário.
Arquitetura do sistema
Skyler separa as responsabilidades claramente. O frontend lida com interação e voz. O Worker orquestra memória, reconhecimento de intenção RAG e chamadas de provedor. O modelo lida com respostas diretas para solicitações fora do tópico e respostas guiadas pelo portfólio quando a intenção do portfólio é detectada.
Fluxo de decisão em tempo de execução
Experiência de front-end
- Iniciador de ícones flutuantes nas páginas do site usando
/images/icon_skyler.webp - Assistente interativo dedicado em /skyler-assistente/
- Enter envia mensagem, Shift+Enter adiciona quebra de linha
- Saída de streaming opcional e alternância de saída de voz
- Uso público/convidado sem login obrigatório
Detalhes do worker e dos dados
- Entrada:
src/chatbot/worker/src/index.ts - RAG manual:
src/chatbot/worker/src/manual-rag.ts - Cache KV: cache de resposta, cache de incorporação, cache de contexto do site
- D1: usuários, conversas, mensagens, eventos analíticos, versões de prompt
- Ligações:
DB,CACHE,SESSIONS
RAG Cobertura
O RAG manual inclui identidade, foco de função, stack, links, empresas, métricas de impacto e contexto de credenciais atual. Ele é mesclado com páginas de sites públicos em cache somente quando o usuário está perguntando sobre tópicos do portfólio, o que mantém diretas as respostas fora do tópico e reduz fundamentações indesejadas.
- Identidade e posicionamento (backend, integrações, arquitetura)
- Orientação para descoberta de projetos e blogs
- Referências de contato e perfil (GitHub, LinkedIn, email)
- Credenciais, empresas e projetos conhecidos do contexto interno e de páginas públicas
- Regras de resposta em texto simples para respostas de cursos, empresas e projetos
Estratégia de confiabilidade e fallback
- Caminho de execução do provedor principal com novas tentativas
- Provedor substituto automático quando o primário falha
- Caminho de saudação local mais reconhecimento de intenção RAG para reduzir chamadas de modelo desnecessárias
- Cache de resposta para minimizar gastos repetidos de token
Caminhos Principais
- Assistente ao vivo: /skyler-assistente/
- Página de exemplo de widget global: /sobre/
- Listagem de projetos: /projetos/
- Fonte do worker:
src/chatbot/worker/src/index.ts - RAG manual:
src/chatbot/worker/src/manual-rag.ts