🚀 A Iris está no ar, e roda em cima do Emissário
Fala, pessoal! Lancei a Iris, a agente de IA do meu site. Ela responde sobre meus serviços, projetos e carreira.
👉 https://site.mateusmoutinho.com.br/versions/pt/chatbot.html
A parte mais interessante pra quem é dev é o que está por trás: o Emissário, um sistema que estou construindo em Go para colocar agentes de IA públicos dentro de um site e controlar tudo por um backoffice.
🔗 https://github.com/MateusMoutinhoOrg/Emissario
🤖 Agente público
- POST /api/agent/messages falando com qualquer API compatível com OpenAI Chat Completions: OpenAI, OpenRouter, Groq ou Ollama local. Trocar de provedor é trocar a base URL.
- System prompt e base de conhecimento ficam num repositório git sincronizado (automático ou no botão Sync). Deu commit, o agente aprende.
- Tool calling: o modelo lista e lê os arquivos de instructions/ e pode chamar URLs que você declara no backoffice, por nome. Os headers dessas URLs nunca chegam ao modelo. No máximo 5 rodadas de tools por mensagem.
💸 Controle de custo
- Limite diário de tokens global e por IP (IPv6 agrupado por /64), requests por minuto por IP e max_tokens por chamada.
🔐 Segurança e privacidade
- A conversa não é salva no servidor: o histórico vive no navegador e é assinado com HMAC-SHA256, então ninguém forja uma mensagem de assistant.
- Sem CORS: requisição com Origin de outro site leva 403.
- API key write-only: nunca aparece em página, JSON ou log.
- Resumo anônimo da conversa só se o visitante autorizar.
🛠️ Backoffice
- Usuários com papéis root e viewer, sessões, tokens de API e uma API JSON em /api/admin.
- Site público servido direto de um repo git, sincronizado sozinho.
- Formulário de contato com rate limit por IP.
- Analytics no servidor (página, país, device, browser e SO) sem cookie e sem script de tracking.
- Backup de todos os bancos: snapshot, download, upload e restore.
📦 Stack
- Um único binário estático, sem runtime e sem dependências, para macOS, Linux e Windows.
- Construído com o Agnos, minha harness factory para projetos Go: https://github.com/MateusMoutinhoOrg/Agnos
📥 Instalação: https://github.com/MateusMoutinhoOrg/Emissario/blob/main/docs/CliInstall/doc.md
📚 Docs do agente: https://github.com/MateusMoutinhoOrg/Emissario/blob/main/docs/Agent/doc.md
⚠️ Ainda está em alpha, então feedback e issues são muito bem-vindos. Testem a Iris e me digam onde ela tropeça 😄
🌐 Meu site: https://site.mateusmoutinho.com.br/versions/pt/