Documentação oficial desta página · v0.20.6
Modo Entregável (artefatos no chat)
Quando o Hermes Agent roda dentro de um gateway de mensagens (Slack, Discord, Telegram, WhatsApp, Signal etc.), ele consegue entregar os arquivos gerados direto no chat — não como caminhos que o usuário precisa copiar, e sim como anexos nativos.
Um gráfico aparece como imagem embutida. Um relatório em PDF aparece como
download de arquivo. Uma planilha sobe como .xlsx. O agente não precisa
escrever uma tag MEDIA: nem fazer nada especial — ele só gera o arquivo e
menciona o caminho absoluto dele na resposta. O gateway pesca o caminho no
texto, remove-o da mensagem visível e envia o arquivo nativamente.
Como funciona
Três peças se encaixam:
-
O agente tem ferramentas que produzem arquivos.
execute_codepara gráficos com matplotlib, a skilldocxpara documentos do Word, a skillxlsxpara planilhas, as skillspdfelatex-pdf-reportpara PDFs, a skillpowerpointpara apresentações,image_generatepara imagens,text_to_speechpara áudio e assim por diante. -
O gateway varre as respostas do agente atrás de caminhos de arquivo. Qualquer caminho absoluto (
/tmp/...) ou relativo ao home (~/...) que termine em uma extensão suportada é extraído. Caminhos dentro de blocos de código e de código em linha são ignorados, para que exemplos de código nunca sejam mutilados. -
O gateway despacha conforme o tipo de arquivo. Imagens são embutidas onde a plataforma suporta; vídeos são embutidos; áudio vira anexo de voz/áudio; todo o resto sobe como anexo de arquivo.
Extensões de arquivo suportadas
| Categoria | Extensões | Entrega |
|---|---|---|
| Imagens | .png .jpg .jpeg .gif .webp .bmp .tiff .svg | Embutida |
| Vídeo | .mp4 .mov .avi .mkv .webm .3gp | Embutido (onde houver suporte) |
| Áudio | .mp3 .m2a .wav .ogg .opus .m4a .flac | Anexo de voz / áudio |
| Documentos | .pdf .docx .doc .odt .rtf .txt .md .epub | Envio de arquivo |
| Dados | .xlsx .xls .ods .csv .tsv .json .xml .yaml .yml | Envio de arquivo |
| Geoespacial | .kmz .kml .geojson .gpx | Envio de arquivo |
| Apresentações | .pptx .ppt .odp .key | Envio de arquivo |
| Arquivos compactados | .zip .tar .gz .tgz .bz2 .xz .7z .rar .apk .ipa | Envio de arquivo |
| Web | .html .htm | Envio de arquivo |
.py, .log e outras extensões de código-fonte ficam de fora de propósito,
para que o agente não despache arquivos-fonte quaisquer automaticamente; se
você quer mandar código para o usuário, use um bloco de código.
Incentivar o agente a produzir artefatos
O agente não recorre a artefatos por padrão — ele precisa saber que deve fazer isso. Duas formas de dar esse empurrão:
Por sessão: peça explicitamente ("me manda a comparação como gráfico", "devolve os dados em CSV") ou escreva suas próprias instruções personalizadas / entrada de personalidade que puxem para respostas em formato de artefato nas plataformas de mensagem.
No nível do projeto: acrescente essa inclinação ao AGENTS.md /
CLAUDE.md / .cursorrules de um projeto em que o agente trabalha, ao seu
persona global em ~/.hermes/SOUL.md ou como um preset nomeado sob
agent.personalities no ~/.hermes/config.yaml (alternável por sessão com
/personality).
A mecânica que o agente precisa usar é simples: renderizar o arquivo em um
caminho absoluto (por exemplo, /tmp/receita-q3.png) e mencionar esse caminho
como texto puro na resposta. O gateway faz o resto. Caminhos dentro de blocos
de código cercados ou de crases são ignorados, para que exemplos de código
nunca sejam mutilados.
Kanban: artefatos pegam carona nas notificações de conclusão
Se você usa o fluxo multiagente de kanban do Hermes, os workers podem anexar
arquivos entregáveis à chamada kanban_complete:
kanban_complete(
summary="gráfico e relatório de receita do Q3 renderizados",
artifacts=[
"/tmp/receita-q3.png",
"/tmp/relatorio-q3.pdf",
],
)
Quando o notificador do gateway entrega a mensagem de "tarefa concluída" a quem assinou a tarefa no Slack/Telegram/etc., ele também envia cada artefato como anexo nativo naquele chat. A pessoa recebe o entregável e o resumo no mesmo lugar.
Arquivos que não existem em disco quando o notificador roda são pulados silenciosamente.
Conectar mais serviços com MCP
Além do pipeline de entrega de artefatos, o agente consegue alcançar outros serviços via MCP (Model Context Protocol). O ecossistema MCP traz servidores da comunidade para a maioria das ferramentas populares — instale os que você precisar:
| Serviço | O que ele destrava |
|---|---|
| Notion | Ler/escrever páginas e bancos de dados do Notion, consultar o espaço de trabalho |
| GitHub | Issues, PRs, comentários, busca em repositórios além do que a CLI gh faz |
| Linear | Tíquetes, projetos, ciclos |
| Slack | Busca em todo o espaço de trabalho, leitura de outros canais |
| Gmail | Triagem da caixa de entrada, envio de e-mail, gestão de marcadores |
| Salesforce | Leads, oportunidades, dados de contas |
| Snowflake / BigQuery | SQL contra data warehouses |
| Google Drive | Busca de arquivos, conteúdo, gestão de compartilhamento |
Instale os servidores MCP pelo ~/.hermes/config.yaml, na seção
mcp_servers. Veja Integração com MCP para o guia
completo de configuração.
Comparação com o Perplexity Computer no Slack
A integração do Perplexity Computer com o Slack é construída em torno da mesma ideia: o agente gera um entregável (gráfico, PDF, apresentação) e o publica de volta na thread como anexo nativo. O modo entregável do Hermes Agent oferece o mesmo padrão para o usuário, só que localmente:
- A geração acontece no venv / sandbox do próprio usuário (sem inquilino remoto).
- Os arquivos chegam ao chat pela mesma API
files.uploadV2do Slack. - A variedade de conectores vem do MCP, e não de um catálogo curado com 400 integrações hospedadas — instale as que você realmente usa.
Os tokens OAuth ficam na máquina do usuário, em auth.json / .env. Sem
armazenamento de token hospedado. Sem microVM multi-inquilino. Mesmo resultado
final.