1 pontos por GN⁺ 4 일 전 | 1 comentários | Compartilhar no WhatsApp
  • Os dados financeiros integrados via Plaid podem ser conectados como ferramentas MCP para lidar com saldos, transações, investimentos e empréstimos, além de automatizar verificações financeiras repetitivas com as Claude Code routines
  • A automação anterior no navegador baseada em cron quebrava com frequência por causa de problemas de renderização, prompts de 2FA, erros que coletavam apenas parte das contas, mudanças no formato de e-mail e limitações de passkeys; para reduzir isso, foi criado o Driggsby
  • O e-mail diário de resumo financeiro foi montado apenas com prompt, horário de execução e o Driggsby custom connector; como o conector do Gmail só conseguia criar rascunhos, foi adicionada a ferramenta email_me() para resolver o envio real e estabilizar a formatação
  • Do mesmo jeito, também foram automatizadas a detecção de anomalias nas transações do Amex dos últimos 7 dias e a vigilância de grandes saídas acima de US$ 500 na checking account, configuradas para não enviar alerta quando tudo estiver normal
  • Como a carga de configuração e depuração é baixa, foi possível até operar rotinas financeiras personalizadas separadas para cada cônjuge, criando uma base de automação que se expande rapidamente para monitoramento de investimentos, assinaturas e gastos

Ponto de partida da automação e estrutura do Driggsby

  • Antes, tudo começou com uma rotina diária em cron rodando o Codex CLI e o Chrome DevTools MCP de forma não interativa para fazer login em bancos, cartões e contas de corretagem e aposentadoria, buscar saldos e transações recentes e enviar ao casal um e-mail diário com uma visão geral das finanças
    • No primeiro dia, funcionou muito bem, mas no dia seguinte já voltava a quebrar
    • Foram se acumulando problemas como falhas de renderização no navegador, prompts inesperados de 2FA, casos em que apenas algumas contas eram capturadas por confusão durante a execução, mudanças arbitrárias no formato do e-mail e a adição de contas que só aceitavam passkeys
  • Para reduzir essa instabilidade, foi criado o Driggsby, que chegou ao formato atual após dois meses, 75k lines de código Rust e um contrato com a Plaid
  • O Driggsby se conecta às contas financeiras com a Plaid e então expõe, via MCP, saldos, transações, informações de investimento e dados de empréstimos como ferramentas separadas
  • No início, o uso era abrir o Claude quando necessário, fazer perguntas financeiras e receber as respostas pelo Driggsby; com o tempo, surgiram padrões de perguntas repetidas, como consultar patrimônio líquido, verificar saldos e transações e monitorar investimentos

O que as Routines mudaram

  • As Claude Code routines, lançadas há poucos dias, facilitaram passar esse tipo de consulta repetitiva para o piloto automático
  • O loop de agente rodando na nuvem em si não é novidade, mas o destaque das routines está em como a configuração é extremamente simples
    • Não é preciso escrever código separado para o loop do agente nem decidir onde fazer o deploy
    • Também não é necessário subir manualmente ambientes de execução como OpenClaw, Codex SDK ou claude -p on Hetzner
  • Basta escrever o prompt e conectar os dados e ferramentas de forma limpa com um MCP connector para montar a automação imediatamente

Automação do e-mail diário

  • Substituindo a planilha antiga

    • O primeiro problema retomado foi o e-mail diário, com o objetivo de receber um resumo limpo mostrando todas as contas e o patrimônio líquido de uma só vez
    • Essas informações estavam havia muito tempo em uma planilha antiga perdida em algum lugar do Google Drive e, embora a atualização levasse só cerca de 15 minutos, esse pequeno atrito já bastava para que ela quase nunca fosse atualizada
    • Na prática, a frequência de atualização ficava em no máximo uma vez a cada 6 meses
  • Processo de configuração da rotina

    • A configuração terminou só com inserir o prompt, agendar a execução para toda manhã, conectar o Driggsby custom connector e salvar
    • Mas logo no começo apareceu um bloqueio: não havia como enviar o e-mail
  • Limitação do conector do Gmail e ferramenta alternativa

    • Ao adicionar o Gmail connector, foi possível gerar um e-mail bonito e com alta densidade de informação, mas na prática ele era criado apenas como rascunho, e não chegava à caixa de entrada
    • Como o Gmail connector só criava rascunhos e não conseguia enviar o e-mail, foi preciso buscar outro caminho
    • Mesmo depois de olhar a Claude connector store, não apareceu uma forma de envio conveniente, então foi adicionada ao Driggsby uma ferramenta MCP simples chamada email_me()
  • Restrições do email_me() e estabilidade de formatação

    • O email_me() limita o destino de envio apenas ao endereço de e-mail verificado do dono da conta e bloqueia links e imagens, mantendo um nível aceitável do ponto de vista de segurança
    • Para reduzir a variação de formato entre execuções, o corpo do e-mail passou a exigir Markdown, e também foi adicionado um CSS para renderização de e-mails em Markdown
  • Depuração e resultado final

    • Alguns bugs pequenos foram corrigidos rapidamente porque o processo de execução das routines é fácil de inspecionar
    • A interface é quase igual a uma sessão normal do Claude Code vista no Claude Desktop ou no app web, então fica fácil verificar exatamente o que a rotina em execução está fazendo
    • Depois de alguns testes, o e-mail das 7h47 da manhã finalmente chegou, e o problema do e-mail diário foi resolvido
    • A partir daí, mudanças no conteúdo do e-mail puderam ser feitas ajustando apenas o prompt na UI das routines, sem alterar código
  • Personalização individual para o casal

    • A esposa também passou a ter seu próprio e-mail diário pessoal, editável com o próprio prompt dela
    • Como cada um dá importância a coisas diferentes, passou a ser possível personalizar separadamente as informações que cada um quer receber todos os dias

Expansão depois do e-mail diário

  • Detecção de anomalias nas transações do cartão nos últimos 7 dias

    • Depois que o e-mail diário entrou no lugar, a atenção se voltou para o que mais seria possível fazer, já que agora dava para subir novos agentes sem quase nenhum custo de infraestrutura
    • Como os dados de transações já estavam no Driggsby, a automação seguinte foi a detecção de anomalias nas transações do cartão de crédito Amex
    • Foi criada uma routine semanal com o prompt abaixo
    • Prompt de exemplo no original
      • Buscar as transações do cartão de crédito Amex do último ano
      • Separar apenas as transações dos últimos 7 dias e concentrar a análise nesse intervalo
      • Comparar com padrões históricos e enviar um e-mail se houver nos últimos 7 dias itens inesperados, como cobrança duplicada, mudança no valor de assinatura ou nome/descrição estranhos de estabelecimento
      • Se todas as transações parecerem normais e alinhadas ao padrão histórico, não enviar alerta
    • Um prompt tão simples assim pode gerar false positives, mas é fácil refiná-lo ao longo do tempo e o custo de revisar os resultados também é baixo
  • Vigilância de grandes saídas na checking account

    • Depois disso, foi criada uma rotina para verificar se houve uma saída grande e inesperada de dinheiro na checking account
    • O prompt foi montado com as condições abaixo
    • Prompt de exemplo no original
      • Revisar as transações da checking account e verificar, comparando com os dados dos últimos 12 meses, se houve no último dia alguma grande saída fora do padrão histórico
      • Focar em transações acima de US$ 500
      • Como essa automação roda todos os dias, ela restringe fortemente a análise apenas às transações do último dia
      • Se houver um item que se encaixe nas condições, enviar um e-mail com o título "Checking account outflow alert"; caso contrário, não avisar
  • Escopo de expansão adicional

    • Com o tempo, esse fluxo se expandiu para investimentos, análise de assinaturas e monitoramento de várias categorias de gastos
    • Como configurar com routines chega a ser fácil até demais, daqui para frente a necessidade maior será combinar várias condições de uma vez e refinar os prompts com mais precisão

Por que isso importa

  • O ponto mais forte das routines está em permitir automação que pode ser testada imediatamente com esforço quase zero
  • A barreira de entrada ficou tão baixa que basta surgir um prompt para já ser possível colocá-lo para rodar como automação
  • A esposa, que é CPA, também está rodando na nuvem as próprias automações com base em dados puxados em tempo real pelo Driggsby
  • Isso reforça a direção de criar mais ferramentas que permitam a cada pessoa conectar seus próprios dados e montar automações com facilidade

1 comentários

 
GN⁺ 4 일 전
Comentários do Hacker News
  • Montei algo assim recentemente. Uso o https://tiller.com/ para sincronizar transações de conta corrente/cartão de crédito com o Google Sheets e espelho essa planilha em um banco Supabase gratuito com GitHub Actions
    Depois deixei o Claude/Codex acessar transações e saldos com consultas em inglês via Supabase MCP ou psql, e fiquei bem impressionado com a capacidade de encontrar padrões de assinatura ou padrões anômalos. Foi especialmente bom em previsão de fluxo de caixa, algo em que ferramentas online costumam falhar, e por exemplo eu podia perguntar quanto dava para transferir para a poupança com base no meu padrão de gastos mensais e no caixa disponível
    Na parte de categorização automática, o Claude lidou muito bem com uma DSL customizada. Pedi para ele criar um conjunto de regras em tabela markdown para normalização de beneficiários/categorias, e essas regras também rodam junto no GitHub Actions

    • Tenho curiosidade sobre como o Tiller obtém os dados bancários
      Queria saber se eles puxam isso por algo como o Plaid, se ainda é preciso fornecer credenciais do internet banking e como o 2FA é tratado
      Também me preocupa se, em instituições financeiras sem API oficial, eles ainda dependem de scraping de tela e o que acontece se um bug causar cliques ou confirmações não intencionais, ou até uma transferência errada. Dizem que é somente leitura, mas quase nunca vi bancos oferecerem de fato uma conta auxiliar realmente somente leitura para internet banking pessoal
      Também queria saber se existe seguro ou garantia para ressarcir grandes prejuízos financeiros, e me preocupam as implicações de privacidade de mostrar todos os meus dados bancários a duas empresas. Ouvi falar de ações coletivas sobre venda/compartilhamento indevido de dados, mas não sei exatamente o que aconteceu
      Também pega mal a cláusula dos termos do banco em que você concorda em não compartilhar sua senha com terceiros. Tenho muita resistência a confiar minhas finanças a um serviço web/cloud; preferiria um software cliente rodando localmente e se comunicando com a API do banco. Também queria saber se existe algo assim no Canadá
      Dizem que o open banking está chegando, mas não está claro se software feito pelo próprio usuário vai poder acessar. Se eu pudesse realmente confiar nisso, e houvesse até exigência de políticas que minimizem a retenção interna após o download, eu também gostaria de usar APIs bancárias
    • Também voto no Tiller
      Uso o Tiller desde que o Mint foi adquirido pela Intuit, e tenho uma configuração parecida. Só que eu liguei o acesso ao Sheets com um modelo local qwen e uma API key criada com OAuth; o jeito com Claude Routine provavelmente teria sido bem mais fácil
    • Isso é muito legal. Tem planos de disponibilizar isso como open source?
      Queria ver a configuração completa, especialmente quais prompts você usa
    • Fico curioso por que não usar simplesmente Plaid por baixo
  • Talvez porque meu patrimônio líquido seja pequeno, mas sinceramente não entendo muito bem por que isso teria valor
    Também não quero que um LLM me mande email todo dia, e se eu preciso olhar meus investimentos com mais frequência do que trimestralmente, provavelmente eu deveria estar em investimentos mais seguros. Tenho algum interesse em ferramentas de orçamento, mas nisso eu quero algo totalmente determinístico
    Meu planejamento financeiro em geral é bem tranquilo, então acho melhor gastar meu tempo procurando um emprego com salário maior do que tentando otimizar despesas além do que já faço

    • Eu acompanho todos os gastos com o actualbudget.org, mas só atualizo as contas de investimento uma vez por mês
      Acho mesmo que qualquer coisa ligada a números deveria ser totalmente determinística
      Mostrei meu banco SQLite para um LLM e pedi que ele dissesse o que via nas transações dos últimos 5 anos, e as coisas que ele captou ou me relembrou foram impressionantes. Mas não sei se houve algum valor prático real que de fato me levasse a mudar algo
      Vou tentar fazer isso me levar a uma revisão mensal por um tempo, mas como eu geralmente já sei como está minha situação financeira só de atualizar o orçamento, ainda não sei o quanto isso vai ajudar
    • Queria saber se você já testou a combinação Actual Budget + SimpleFIN para importar transações bancárias
      Eu uso isso para acompanhar meus cartões de crédito e contas correntes, e se quiser ainda dá para conectar um MCP ali e analisar os dados todos em um só lugar
    • Valeu, e no sentido inverso, queria saber o que despertaria seu interesse
  • Moro no Canadá e uso o https://lunchmoney.app/ para acompanhamento junto com integração Plaid
    Como há uma API, pedi para um LLM escrever uma CLI, e com isso o agente consegue buscar praticamente qualquer dado que precisa
    Outra tarefa que dei foi acumular regras de tagging, e isso roda uma vez por dia em cron. Às vezes peço para ele revisar as regras e criar novas para transações sem classificação
    Acho muito bom esse padrão de fazer o LLM memorizar o trabalho em um motor de regras ou em código. Depois que você tem uma CLI consultável, dá para pedir quase qualquer coisa ao agente

    • Sou o fundador do Lunch Money, e fico feliz em ver esse uso
    • Queria saber qual é o principal caso de uso
  • Para quem tiver interesse, vou compartilhar a visão geral da nossa infraestrutura/configuração de segurança
    O backend e a CLI são em Rust com linting rigoroso, o app web roda sobre Axum e se conecta ao Postgres com sqlx
    As funções financeiras são somente leitura. Não existem ferramentas de transferência, pagamento de contas ou remessa, e não é possível mover dinheiro pela superfície de IA
    No Plaid, pedimos apenas transações, investimentos e dívidas; não pedimos auth/transfer/payment initiation, então não recebemos o número completo da conta nem o routing number, só a máscara básica dos últimos 4 dígitos
    Nome de usuário e senha do banco vão direto para o Plaid Link sem passar por nós, e nós mantemos apenas tokens de acesso por instituição
    Os tokens de acesso do Plaid ficam em um banco separado, atrás de um serviço de custody único no Cloud Run. No armazenamento, eles são criptografados com Cloud KMS; o broker chama os endpoints de encrypt/decrypt do KMS, e o material da chave raiz nunca sai do limite do Google HSM. Só a service account do broker tem permissão de criptografar/descriptografar, e o app web não tem permissão para ler esse banco
    Em toda chamada de criptografia/descriptografia, passamos o ID do item do Plaid como AAD, para que o ciphertext de um item não possa ser trocado e descriptografado como token de outro item
    Cada serviço Cloud Run roda com sua própria identidade de nuvem e role de banco, e as chamadas internas entre serviços também são autenticadas com identity tokens de curta duração
    O banco operacional não tem IP público, e os segredos ficam em armazenamento gerenciado de secrets, não no código-fonte nem na imagem do container
    O conector de IA usa OAuth 2.1 + PKCE e tem escopos por usuário, podendo ser revogado na UI. Em toda tool call, registramos o nome da ferramenta, argumentos saneados, cliente chamador e o motivo apresentado pelo agente, para que seja possível ver o que o LLM pediu em nome do usuário
    Na superfície de IA não existem ferramentas de fetch-URL, shell nem I/O genérico; ela retorna apenas dados financeiros estruturados. Rede, IAM e grants de banco são todos gerenciados com Terraform, e mudanças de infraestrutura só acontecem por esse caminho
    O acesso à infraestrutura é controlado com 2FA e chave de segurança

    • Obrigado por compartilhar esse tipo de detalhe técnico de verdade
      Dá a sensação de que você entende o público deste site, e o cuidado em projetar a segurança em cada camada também aumenta a confiança na ferramenta como um todo
      Eu mesmo tentei construir algo parecido; no MVP inicial eu só baixava manualmente PDFs de extrato e usava o Claude para montar um ledger em texto puro para contabilidade, com a ideia de conectar o Plaid depois
      Em especial, tenho curiosidade sobre como as pessoas usam o Plaid. Para começar, é preciso ter um certo número de usuários ou dá para abrir uma conta Plaid para uso pessoal só para conectar minhas contas pessoais e empresariais a uma API limpa?
    • Se vão dar downvote em alguém que compartilha detalhes técnicos do produto ou um post Show HN, pelo menos digam o motivo
  • É preciso tomar cuidado ao usar o Routine
    Há um aviso pequeno que quase passa despercebido: no modo routine, ferramentas MCP ficam sempre permitidas, inclusive com permissão de escrita. Então, tecnicamente, o agente pode sair alterando recursos por conta própria

    • Exato. Ao usar ferramentas assim, sempre é preciso ter em mente prompt injection
  • Isso parece uma solução em busca de um problema. Só o https://tiller.com/ já funciona muito bem, você consegue fazer todos os cálculos que quiser na planilha e, de bônus, não há alucinações
    Também não entendo por que eu iria querer um resumo prolixo de LLM para ler. Se eu mesmo classificar os gastos de vez em quando, as anomalias aparecem rápido, e com o Tiller isso também é fácil

    • No começo, eu fiz isso para mim e para minha esposa, então no fim das contas construí algo de que nós precisávamos e que queríamos
      Vão surgir muitos produtos diferentes nesse espaço, e o nosso é só uma das abordagens. Eu pessoalmente acho positivo haver mais tentativas assim
    • O ponto principal não é o texto do resumo em si
      O mais importante é que o LLM consegue absorver e combinar várias fontes de dados com facilidade
  • Nossa Era Finance está construindo uma solução exatamente para isso. É o Era Context, um MCP que conecta finanças pessoais a qualquer agente compatível, e pode ser visto em https://era.app
    Por enquanto estamos focados em ferramentas de leitura, mas ferramentas de escrita como transferência de dinheiro e quitação de dívidas também estão a caminho
    Se houver alguma funcionalidade que você queira, gostaria de pedir que enviasse email para o alex nesse domínio. Para contexto, eu sou o CEO Alex; estou quase estreando no HN, mas antes fui responsável pela presença web da stripe.com e antes disso estive na Square/CashApp

    • Parece interessante, estou testando agora mesmo
  • Talvez eu já tenha perdido a batalha, mas continuo sem entender por que alguém iria querer entregar o histórico financeiro completo a um LLM
    Não me parece que provedores de LLM tenham proteções mais fortes para esse tipo de dado do que o setor financeiro. E o próprio setor financeiro já é uma indústria dura que coleta, minera e vende nossos dados

    • Pelo menos no meu caso, o principal motivo é que os insights são realmente bastante úteis
      Como alguém interessado em padrões de gasto e investimentos, já encontrei coisas que antes me passavam batido usando prompts bem básicos
      Claro que tornar isso seguro é muito difícil, e por isso passo muito tempo pensando justamente nessa parte
    • Nesse caso, o criador já explicou que é tudo somente leitura
      Então não entendo exatamente qual seria o problema
    • Por que não? Queria entender que impacto negativo concreto isso poderia ter na minha vida
  • Meu banco principal, o Monzo do Reino Unido, oferece uma API completa e webhooks de trigger para eventos
    Isso me permitiu criar um bot no WhatsApp que pergunta a razão quando aparece uma transação incomum, e o LLM é usado só para o raciocínio. Também automatizei a varredura do saldo para uma conta de poupança todo dia antes da meia-noite para maximizar os juros diários
    Mantenho só um valor pequeno na conta do dia a dia e, se gasto dinheiro durante o dia, reponho a partir da poupança para manter esse saldo baixo. Se preciso fazer um gasto maior, aí transfiro manualmente

    • Muito legal. Seria ótimo se isso fosse disponibilizado como open source, e é uma pena que não exista um ambiente assim nos EUA, porque ficaria bem mais fácil
  • Quando tentei usar o Claude para analisar transações passadas, ele continuava alucinando, inventando cobranças que não existiam, adicionando novos itens e contando em duplicidade
    Ao lidar com finanças, não basta o Claude acertar 95%. Eu preciso ficar sempre em alerta e revisar os resultados, então no meu caso isso praticamente perde o valor

    • Eu recomendaria testar o GPT do Codex também
      Também tive a impressão de que o Claude alucina bastante, especialmente com conjuntos de dados incompletos ou limitados