Voltar ao blog
Vibe Coding

Crie uma base de conhecimento com resumos automáticos

Como montar uma base de conhecimento pessoal no Notion com resumos automáticos gerados pelo Claude

C
Caio Braga
28 de abril de 2026 · 9 min de leitura
Sumário do artigo
Crie uma base de conhecimento com resumos automáticos

Como montar uma base de conhecimento pessoal no Notion com resumos automáticos gerados pelo Claude

Nível: Simples | Tempo estimado: 30–45 minutos | Ferramentas: Notion, Claude API, Cursor


Introdução

Você salva artigos, vídeos e anotações o tempo todo — mas na hora que precisa de uma informação, não lembra onde guardou. Ou pior: lembra onde está, abre o arquivo, e percebe que não anotou nada útil além do link.

Esse é o problema de guardar conteúdo sem processar. Salvar não é aprender. Arquivar não é entender.

A solução que vamos construir aqui resolve exatamente isso: uma base de conhecimento no Notion onde você cola um link ou um texto bruto, e o Claude automaticamente gera um resumo estruturado, extrai os pontos principais e classifica o conteúdo por tema. Tudo isso sem você precisar fazer nada além de colar o conteúdo.


As ferramentas do projeto

Notion

O Notion é uma das plataformas de produtividade mais usadas do mundo. Funciona como um híbrido entre bloco de notas, planilha, wiki e banco de dados. A parte importante para este projeto é a Notion API, que permite criar, editar e consultar páginas e bancos de dados do Notion de forma programática — ou seja, de fora da plataforma, via código.

Claude API

A Claude API é o serviço da Anthropic que permite usar o modelo Claude nas suas aplicações. O Claude se destaca em tarefas de leitura e síntese de textos longos — é excelente para resumir artigos, extrair ideias principais e categorizar conteúdo com precisão. Exatamente o que precisamos aqui.

Para usar a API, você precisa de uma chave de acesso obtida em console.anthropic.com.

Cursor

O Cursor é um editor de código com IA integrada onde você constrói o projeto conversando em linguagem natural. Toda a parte técnica — criar arquivos, instalar dependências, escrever as integrações — vai ser feita via prompts direto no Cursor, sem digitar código manualmente.


A lógica por trás do projeto

Antes de começar, entenda o fluxo que vamos construir:

Você cola um texto ou link no Notion
        ↓
Um script detecta o novo conteúdo via Notion API
        ↓
O texto é enviado para o Claude com instruções de resumo
        ↓
O Claude retorna: resumo, pontos principais e categoria
        ↓
O script atualiza a página no Notion com essas informações
        ↓
Sua base de conhecimento está organizada automaticamente

O script vai rodar localmente na sua máquina sempre que você quiser processar conteúdo novo. Não é um sistema em tempo real, mas é mais do que suficiente para uso pessoal — você roda o comando, ele processa tudo de uma vez.


Passo a Passo

Passo 1 — Monte o banco de dados no Notion

Antes de qualquer código, você precisa criar a estrutura no Notion. Crie um banco de dados novo com as seguintes colunas:

  • Título (tipo: título) — o nome do conteúdo

  • Conteúdo Bruto (tipo: texto) — onde você vai colar o texto original ou o link

  • Resumo (tipo: texto) — onde o Claude vai escrever o resumo

  • Pontos Principais (tipo: texto) — os tópicos extraídos pelo Claude

  • Categoria (tipo: seleção) — tag automática: Tecnologia, Negócios, Saúde, Produtividade, etc.

  • Status (tipo: seleção) — "Pendente" ou "Processado"

  • Data (tipo: data) — data de adição

Quando criar uma entrada nova, preencha apenas o Título e o Conteúdo Bruto, e deixe o Status como "Pendente". O script vai cuidar do resto.

Para permitir que a API acesse esse banco de dados, vá em Configurações do Notion, crie uma integração em developers.notion.com, copie o token gerado e conecte a integração ao banco de dados clicando em "Conectar a" dentro da página do banco.


Passo 2 — Crie o projeto no Cursor

Abra o Cursor e use o Composer (Cmd+I ou Ctrl+I) com o seguinte prompt:

Crie um projeto Node.js chamado "notion-knowledge-base" com as seguintes configurações:

- Use ES Modules (type: module no package.json)
- Instale as dependências: @anthropic-ai/sdk, @notionhq/client, dotenv
- Crie um arquivo .env com as variáveis:
  ANTHROPIC_API_KEY=""
  NOTION_TOKEN=""
  NOTION_DATABASE_ID=""
- Crie um arquivo .gitignore incluindo .env e node_modules
- Estrutura simples: apenas um arquivo index.js na raiz

Passo 3 — Crie a integração com o Notion

Com o projeto criado, use este prompt no Cursor para construir a função que busca os itens pendentes no banco de dados:

No arquivo index.js, crie uma função chamada getPendingItems() que:

1. Use o cliente do @notionhq/client autenticado com o NOTION_TOKEN do .env
2. Consulte o banco de dados cujo ID está em NOTION_DATABASE_ID
3. Filtre apenas as páginas onde a propriedade "Status" é igual a "Pendente"
4. Para cada página encontrada, retorne um array de objetos com:
   - id: o ID da página no Notion
   - titulo: o conteúdo da propriedade Título
   - conteudo: o conteúdo da propriedade Conteúdo Bruto
5. Faça um console.log mostrando quantos itens pendentes foram encontrados

Passo 4 — Crie a função de resumo com Claude

Agora vamos criar o coração do projeto — a função que envia o conteúdo para o Claude e recebe o resumo estruturado:

Ainda no index.js, crie uma função chamada summarizeWithClaude(titulo, conteudo) que:

1. Use o SDK da Anthropic com a chave ANTHROPIC_API_KEY do .env
2. Chame o modelo claude-3-5-sonnet-20241022 com max_tokens de 1024
3. Envie o seguinte system prompt:
   "Você é um assistente especializado em síntese de conhecimento. 
   Sempre responda em JSON válido, sem nenhum texto fora do JSON."

4. Envie o seguinte user prompt, substituindo os valores dinamicamente:
   "Analise o conteúdo abaixo e retorne um JSON com exatamente estas três chaves:
   - resumo: um parágrafo de 3 a 5 linhas explicando do que se trata o conteúdo
   - pontos_principais: uma lista de 3 a 5 strings com os aprendizados mais importantes
   - categoria: uma única palavra escolhida entre: Tecnologia, Negócios, Saúde, Produtividade, Ciência, Design, Marketing, Outro

   Título: [TITULO]
   Conteúdo: [CONTEUDO]"

5. Parse o JSON da resposta e retorne o objeto com resumo, pontos_principais e categoria
6. Em caso de erro no parse do JSON, retorne null e faça log do erro

Passo 5 — Crie a função de atualização no Notion

Com o resumo em mãos, precisamos atualizar a página no Notion com as informações geradas:

Ainda no index.js, crie uma função chamada updateNotionPage(pageId, dados) que recebe 
o ID de uma página e um objeto com resumo, pontos_principais e categoria, e:

1. Use o cliente do Notion para atualizar a página com o pageId informado
2. Atualize as seguintes propriedades:
   - "Resumo": com o valor de dados.resumo
   - "Pontos Principais": com os itens de dados.pontos_principais unidos por quebra de linha
   - "Categoria": com o valor de dados.categoria como opção de seleção
   - "Status": mude para "Processado"
3. Em caso de sucesso, faça log: "Página [pageId] atualizada com sucesso"
4. Em caso de erro, faça log do erro mas não quebre a execução

Passo 6 — Monte o fluxo principal e rode

Agora vamos juntar tudo em um fluxo principal:

Crie uma função principal chamada main() no index.js que:

1. Chama getPendingItems() e armazena o resultado
2. Se não houver itens pendentes, exibe "Nenhum item para processar." e encerra
3. Para cada item encontrado:
   a. Exibe no console: "Processando: [titulo do item]"
   b. Chama summarizeWithClaude() com o título e conteúdo do item
   c. Se o resultado for null, pula para o próximo item
   d. Chama updateNotionPage() com o ID da página e o resultado do Claude
   e. Aguarda 1 segundo antes de processar o próximo item (para não sobrecarregar as APIs)
4. Ao final, exibe: "Processamento concluído!"

Chame a função main() ao final do arquivo.

Preencha o .env com suas chaves e rode:

node index.js

Volte ao Notion e veja as páginas "Pendentes" sendo atualizadas com resumos, pontos principais e categoria.


Testando com conteúdo real

Para testar, crie 2 ou 3 entradas no seu banco de dados do Notion com conteúdos diferentes. Algumas sugestões:

Entrada simples — cole um parágrafo de um artigo que você leu recentemente e deixe como conteúdo bruto.

Entrada de anotação de reunião — cole suas anotações bagunçadas de uma reunião ou aula. O Claude vai organizar e extrair os pontos importantes.

Entrada de ideia — cole um rascunho de ideia que você teve. O Claude vai estruturar e categorizar automaticamente.

Rode o script e observe o resultado. O mais impressionante é ver anotações caóticas virarem resumos limpos e bem estruturados.


Melhorias para evoluir o projeto

Processar links automaticamente:

Modifique o script para que, quando o Conteúdo Bruto começar com "http", 
o script acesse a URL, extraia o texto principal da página usando a biblioteca 
cheerio, e use esse texto como conteúdo para o Claude em vez do link.
Instale a dependência: cheerio e node-fetch.

Rodar automaticamente com agendamento:

Adicione ao projeto uma configuração para rodar o script automaticamente 
a cada hora usando node-cron. Instale a dependência node-cron e configure 
para chamar a função main() no intervalo desejado.

Gerar conexões entre conteúdos:

Após processar todos os itens, adicione uma etapa final que busca todos os 
itens processados, agrupa os que têm a mesma categoria, e para cada grupo 
pede ao Claude para identificar conexões e temas em comum entre os conteúdos. 
Salve essas conexões em uma nova página do Notion chamada "Mapa de Conhecimento".

Interface visual para adicionar conteúdo:

Crie uma interface web simples com Lovable.dev onde eu possa colar um texto 
e um título em um formulário, e ao clicar em "Salvar" o conteúdo seja enviado 
diretamente para o banco de dados do Notion via API, já com Status "Pendente".
Isso evita ter que abrir o Notion para adicionar novo conteúdo.

O que você aprendeu

Integração entre ferramentas via API — Você conectou duas plataformas (Notion e Claude) que normalmente vivem separadas, criando um fluxo automatizado entre elas. Essa habilidade se aplica a dezenas de outros projetos.

Prompts com saída estruturada — Aprendeu a instruir o Claude para responder sempre em JSON, o que permite tratar a IA como um serviço que retorna dados, não apenas texto. Isso é fundamental para qualquer automação com LLMs.

Pensar em fluxos, não em funcionalidades — O projeto não é sobre "usar o Claude" ou "usar o Notion". É sobre um fluxo completo: entrada de dado bruto, processamento inteligente, saída organizada. Esse raciocínio vale para qualquer automação.


Próximos passos

Com essa base montada, você tem uma fundação sólida para ir muito além:

  • Adicionar uma segunda base no Notion para livros lidos, com o Claude extraindo citações importantes e lições aprendidas

  • Criar um bot no Telegram ou WhatsApp que aceita textos e links e já salva direto no Notion com resumo gerado

  • Usar o Gemini API como alternativa ao Claude para comparar a qualidade dos resumos gerados por cada modelo

  • Conectar com o Readwise ou Kindle para importar highlights de livros automaticamente e processá-los com IA

  • Adicionar uma camada de busca semântica usando embeddings para encontrar conteúdos similares na sua base


Montou a sua base de conhecimento? Compartilha nos comentários como ficou — especialmente se você adaptou para um caso de uso diferente.

Tags
#Lovable#ia#vibe code
● Não perca essa chance

Não perca a próxima edição.

Toda quinta, 9h. Direto na sua caixa.

  • Ferramentas que economizam horas do seu trabalho
  • Agentes e automações que funcionam
  • Bastidores do que estamos construindo

100% gratuito. Cancele quando quiser.

Compartilhar