Mirna HaaS (Hermes as a Service) é a plataforma de agentes AI da CondoConta, construída sobre o Hermes Agent — um framework open-source de orquestração de agentes AI.
Cada área da empresa recebe um agente AI dedicado com persona própria, acesso ao projeto Jira da área, skills especializadas e integração com Slack e/ou Telegram.
A Mirna CC é o hub nativo (roda direto no VPS da CondoConta sem Docker) e coordena todos os spokes. Ela é a gestora central — recebe pedidos de deploy, decide a porta, configura o ambiente e executa o haas_deploy.py.
Hub (Mirna): Processo nativo no VPS, sem Docker. É a gestora central que coordena todos os spokes e recebe pedidos de deploy.
Spokes: Containers Docker isolados. Cada um com seu projeto Jira, persona, skills e canal de comunicação.
Para pedir um novo agente, você só precisa ter claro:
Monte um YAML com as informações do agente. Não inclua porta — o haas_deploy.py da Mirna CC decide automaticamente a próxima porta disponível.
# config.yaml — Configuração do Agente HaaS
name: eva
team: collection
area: Collection
jira_project: CAIX
persona: >-
Cobrança empática. Foco na recuperação
de inadimplência com tom profissional e humano.
usuario: Solange
canais:
- slack
- telegram
skills:
- collection-queries
- eva-cartilha-collection
profiles:
- EVA
model: deepseek/deepseek-v4-pro
crons:
- schedule: "0 8 * * *"
prompt: Gere o report diário de acordos e envie no Slack #collection
deliver: slack:C028TDGD77V
model: google/gemini-2.5-flash
enabled: true
- schedule: "*/30 8-21 * * 1-5"
prompt: Sincronize cache de acordos e massivos
deliver: local
no_agent: true
enabled: true
Campos do YAML:
haas_deploy.py aloca automaticamente a próxima porta disponível (8643–8652). A Mirna CC (hub nativo) roda na 8642.
Envie o YAML para a Mirna CC com a instrução de deploy. Exemplo de mensagem:
Mirna CC, faz o deploy de um novo agente com essa config:
name: eva
team: collection
area: Collection
jira_project: CAIX
persona: >-
Cobrança empática. Foco na recuperação.
usuario: Solange
canais:
- slack
- telegram
skills:
- collection-queries
- eva-cartilha-collection
profiles:
- EVA
crons:
- schedule: "0 8 * * *"
prompt: Report diário de acordos → Slack #collection
deliver: slack:C028TDGD77V
enabled: true
Fluxo automático que a Mirna CC executa:
Após o deploy, confirme com a Mirna CC que o agente está saudável:
Mirna CC, verifica se o agente Eva está online
Se precisar checar manualmente:
# Health check (porta alocada pela Mirna CC)
curl http://localhost:{porta}/health
# Logs
docker logs {name}-{team}-1
# Status geral
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
name: finc
team: finance
area: Finance
jira_project: FINC
persona: >-
Analista financeiro preciso e organizado.
Foco em conciliação, relatórios e compliance.
usuario: Ricardo
canais:
- slack
skills:
- databricks-query
- hubspot-query
profiles:
- FINC
crons:
- schedule: "0 9 * * 1-5"
prompt: Conciliação diária — alerte discrepâncias no Slack #finance
deliver: slack:C_FINANCE_ID
enabled: true
haas_deploy.py usa o nome do agente como identificador único nos volumes e containers.
Acesse api.slack.com/apps e clique "Create New App" → "From scratch".
Em OAuth & Permissions, adicione os scopes:
Clique "Install to Workspace" e copie o Bot User OAuth Token (começa com xoxb-).
Em Socket Mode, ative e gere um App-Level Token (começa com xapp-). Scopes necessários: connections:write
Em Event Subscriptions, ative e inscreva nos eventos:
Com Socket Mode ativo, não precisa de Request URL.
Para que o agente receba mensagens, ele precisa estar nos canais. Em cada canal desejado:
Envie os tokens para o seu agente:
Eva, configura o Slack com esses tokens: Bot token: xoxb-xxxx App token: xapp-xxxx Canais: #collection, #mirna-sales-agent
O agente configura automaticamente:
No Telegram, converse com @BotFather:
Envie comandos ao BotFather para refinar:
Envie o token para o seu agente:
Eva, configura o Telegram com esse token: Token: 123456:ABC-DEF1234...
O agente configura automaticamente:
Abra o bot no Telegram e envie uma mensagem. O agente deve responder com sua persona configurada.
Todos os agentes Mirna HaaS compartilham a mesma credencial Jira (email + API token do Atlassian). Cada agente trabalha no projeto da sua área:
Área Jira Project
─────────────────────────
Collection CAIX
Tesouraria OB2
Finance FINC
Sales/Comerc RAIX
CX CX
CS CS
Atendimento ATD
People PPL
Produto PROD
AI Expert COM
Se o agente já está rodando e precisa de acesso Jira (ou trocar de projeto), peça direto a ele:
Eva, configura o Jira com o projeto CAIX
O agente configura automaticamente:
Se o agente mudou de área ou precisa acessar outro projeto:
Eva, troca o projeto Jira de CAIX para OB2
Skills são arquivos SKILL.md que ensinam o agente a executar tarefas específicas. Peça ao seu agente para adicionar:
Eva, adiciona essas skills: - collection-queries - eva-cartilha-collection - databricks-query
O agente instala as skills no profile e redespliega se necessário.
Profiles são sub-personalidades do agente principal. A Mirna CC, por exemplo, tem profiles como:
Para criar um novo profile para seu agente:
Eva, cria um profile "FINC". Persona: Analista financeiro preciso. Foco em conciliação e compliance. Skills: databricks-query, hubspot-query
O agente cria o diretório do profile, adiciona o SOUL.md com a persona, linka as skills e redespliega.
Eva, lista as skills disponíveis
O agente mostra todas as skills instaladas e as que podem ser adicionadas.