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
Sumário do artigo
- Como montar uma base de conhecimento pessoal no Notion com resumos automáticos gerados pelo Claude
- Introdução
- As ferramentas do projeto
- Notion
- Claude API
- Cursor
- A lógica por trás do projeto
- Passo a Passo
- Passo 1 — Monte o banco de dados no Notion
- Passo 2 — Crie o projeto no Cursor
- Passo 3 — Crie a integração com o Notion
- Passo 4 — Crie a função de resumo com Claude
- Passo 5 — Crie a função de atualização no Notion
- Passo 6 — Monte o fluxo principal e rode
- Testando com conteúdo real
- Melhorias para evoluir o projeto
- O que você aprendeu
- Próximos passos

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.
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