Mnemos

Memória de reuniões local-first. Grava e transcreve reuniões no dispositivo, extrai decisões e itens de ação, e expõe seu histórico de reuniões para clientes MCP como Claude Code.

Documentação

Mnemos

Suas reuniões, lembradas — na sua máquina, consultáveis pelas suas próprias ferramentas de IA.

O Mnemos grava, transcreve e resume suas reuniões localmente, e então organiza o que aprende em projetos: decisões tomadas, itens de ação pendentes, perguntas ainda em aberto. Ele vem com seu próprio servidor MCP, então qualquer agente compatível com MCP — Claude Code, Claude Desktop ou qualquer outra coisa que fale MCP — pode pesquisar seu histórico de reuniões e responder perguntas com base no que foi realmente dito, sem que uma transcrição jamais saia da sua máquina.

Download for macOS

License Platform


Demonstração

https://github.com/user-attachments/assets/9b315085-3f63-425b-bee1-8b7d52c60d18

Casos de uso

O Mnemos não se importa com o assunto da reunião — ele se importa que você precisará se lembrar dela depois. Alguns formatos concretos que isso assume:

  • Captação de recursos. Cada ligação com investidor em um projeto — quem disse o quê sobre termos, quais perguntas surgiram duas vezes, o que você disse ao último VC que contradiz o que você está prestes a dizer ao próximo.
  • Lançamento de produto. Kickoff, debate de preços, alinhamento de marketing, a retrospectiva depois — decisões e perguntas em aberto se acumulam em um só lugar em vez de se espalharem por quem quer que tenha feito anotações naquele dia.
  • Contratação. Triagens e debriefs de painel para uma vaga, para que "o que realmente combinamos como critério" tenha uma resposta três entrevistas depois.
  • 1:1s recorrentes. Um projeto contínuo por subordinado direto — não uma página em branco toda semana, mas o que você disse que faria como acompanhamento da última vez, ainda lá.

Por que não apenas gravar no Zoom ou Teams

As gravações do Zoom e do Teams são reais, mas são construídas em torno da chamada, não em torno de você. Uma gravação é um arquivo, de propriedade da conta de quem a iniciou, preso no silo daquela chamada — você não pode fazer uma pergunta a ela, e ela não sabe sobre as outras doze reuniões relacionadas à mesma decisão.

O Mnemos é construído em torno de você: ele captura seu microfone e o áudio do sistema diretamente, então funciona da mesma forma se a chamada for Zoom, Meet, Teams, um telefone no viva-voz ou uma conversa no corredor — sem depender de o anfitrião da plataforma ter clicado em "gravar". O que sai não é um arquivo de vídeo para reassistir, mas uma memória que se acumula em todas essas chamadas: decisões e itens de ação que passam de uma conversa para a próxima, consultáveis pelas ferramentas de IA que você já usa, e que nunca dependem de a conta de outra pessoa ainda existir.

Por que local-first

O conteúdo de reuniões é um dos materiais mais sensíveis que uma pessoa gera — estratégia, remuneração, divergências, planos pela metade. Enviar isso para um servidor de terceiros para receber anotações úteis é uma troca real que a maioria das ferramentas de anotações de reunião pede que você faça. O Mnemos não pede isso: a captura de áudio, a transcrição e o armazenamento acontecem todos na sua máquina. A única coisa que sai — o texto da transcrição enviado ao CLI do seu agente de codificação configurado (Claude hoje) para produzir um resumo e extrair itens de ação — fica entre você e o agente que você já escolheu confiar com seu código.

O servidor MCP é a outra metade da ideia: seu histórico de reuniões não deveria ser um arquivo morto que você precisa lembrar de abrir. Ele deveria ser algo que as ferramentas de IA que você já usa possam acessar — "o que decidimos sobre preços no mês passado", respondido por um agente que realmente verificou, não adivinhou.

O que faz hoje

  • Grava e transcreve. Captura seu microfone e o áudio do sistema, transcreve localmente (Parakeet), mostra uma transcrição ao vivo enquanto você ainda está na reunião.
  • Resume e extrai. Após uma gravação terminar, uma etapa do agente produz um resumo além de itens de ação, decisões e perguntas em aberto estruturados — cada um rastreável até o momento na transcrição de onde veio.
  • Organiza em projetos. Conversas podem pertencer a um projeto; a memória de um projeto (visão geral, mudança de escopo, decisões, perguntas em aberto) é atualizada conforme novas conversas chegam nele.
  • Converse, com base nas suas reuniões. Um painel de chat persistente que pode responder perguntas com escopo em uma conversa, um projeto ou tudo — usando as mesmas ferramentas MCP que agentes externos recebem.
  • Consulte de fora do aplicativo. mnemos-mcp-server é um segundo binário que este repositório compila, expondo mnemos.search, mnemos.get_project_memory, mnemos.list_action_items e mais via stdio MCP — aponte o Claude Code ou o Claude Desktop para ele e pergunte sobre suas reuniões diretamente.

Ainda não construído: contatos (identificação de falantes além de uma sessão) e integrações de calendário/externas estão presentes na interface como espaços reservados explícitos de "em breve", não ausentes silenciosamente. Veja Status para o panorama honesto de plataforma/build.


Instalação

Baixe o Mnemos para macOS — Apple Silicon, macOS 12 ou posterior.

Abra o .dmg e arraste o Mnemos para Aplicativos. O build é assinado e notarizado pela Apple, então abre sem aviso de segurança.

No primeiro lançamento, o Mnemos baixa um modelo de fala (~2,3 GB) uma vez. Depois disso, a gravação e a transcrição rodam inteiramente na sua máquina, offline.

Você também precisará do Claude Code instalado e conectado — o Mnemos o usa para escrever resumos. A integração verifica se ele existe e diz o que fazer se estiver faltando.

O Windows ainda não foi publicado; veja Roadmap.

Executar a partir do código-fonte

Pré-requisitos

  • Node 22 + pnpm 10 (corepack enable)
  • Rust estável (rustup), MSRV 1.80
  • macOS: Ferramentas de Linha de Comando do Xcode (o sidecar de captura de áudio é um pacote Swift, somente macOS por enquanto — veja Status)

Executar a partir do código-fonte

pnpm install
pnpm dev            # == pnpm tauri dev — builds Rust, starts Vite, opens the window

Sem conta, sem login, sem servidor, sem chave de API para executar o próprio aplicativo. Ele fala com o CLI do agente de codificação que você já tem instalado (Claude hoje) para produzir resumos — nada mais faz chamadas externas.

Compilar um aplicativo instalável você mesmo

pnpm tauri build

Produz um .app/.dmg não assinado em src-tauri/target/release/bundle/. Não assinado significa que o macOS avisa no primeiro abrir — clique com o botão direito → Abrir para passar do aviso uma vez. Os builds publicados são assinados e notarizados; veja scripts/build_macos_app.sh.

Verificações

pnpm lint           # biome check
pnpm typecheck      # tsc -b (project references: app + node configs)
pnpm test           # vitest

cargo fmt --check   --manifest-path src-tauri/Cargo.toml
cargo clippy        --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings
cargo test          --manifest-path src-tauri/Cargo.toml

cd src-python && pytest -q

Instale os hooks de pré-commit com pnpm dlx lefthook install.

Estrutura

src/                 React frontend
  ipc/               the only module allowed to import from bindings/
  components/app/chat/  the chat panel — lives in the app shell, not a route
  routes/            one file per page (dashboard, recording, project, ...)
src-tauri/           Rust host (Tauri v2)
  src/commands/      one file per feature area
  src/bin/mnemos-mcp-server/  the standalone MCP server binary
  src/db/migrations/ SQLite schema — see AGENTS.md before touching this
src-python/          Python worker: transcription + memory-extraction jobs,
                     run as a long-lived subprocess of the Rust host
swift/mnemos-audio/  macOS audio-capture sidecar (SwiftPM), also a subprocess
bindings/tauri.ts    generated by tauri-specta; committed, CI diff-guarded

Bindings gerados

bindings/tauri.ts é regenerado a cada boot de depuração e por cargo test specta_bindings. Nunca edite manualmente — o CI falha em diff sujo. As features importam de @/ipc, nunca de bindings/ diretamente.

Status

Início, pré-1.0, mantenedor único. macOS em Apple Silicon é a única plataforma suportada hoje — é o que é compilado, assinado e testado. O trabalho de paridade com Windows existe no código (captura de áudio nativa via WASAPI está implementada), mas nenhum build para Windows foi publicado ainda; veja Roadmap. Linux não é um alvo — o sidecar de captura de áudio é específico de Swift/macOS e não há caminho de captura para Linux.

Builds assinados e notarizados para macOS são publicados na página de releases. Relatos de bugs e PRs são bem-vindos; veja CONTRIBUTING.md.

Roadmap

Aproximadamente em ordem. Issues e PRs em qualquer um destes são bem-vindos.

  1. Build para Windows.
  2. Indicador de gravação flutuante. Um pequeno painel sempre no topo para ficar óbvio que você está sendo gravado — não apenas um estado escondido dentro da janela principal.
  3. Atalho de gravação na barra de menus/bandeja (macOS). Iniciar e parar sem alternar para o aplicativo.
  4. Diarização. Distinguir falantes na transcrição, não apenas capturar um fluxo mesclado.
  5. Reconhecimento de falantes. Lembrar uma voz entre reuniões — o pré-requisito para a página de Contatos realmente fazer algo.
  6. Integração com calendário. A página de Integrações é um espaço reservado hoje; é isso que a preenche.
  7. Busca semântica no seu histórico de reuniões. mnemos.search e o chat atualmente correspondem a texto armazenado; um índice vetorial local é o que transforma "o que dissemos sobre preços" em uma consulta semântica real em vez de uma por palavra-chave, em todas as conversas e projetos que você tem.
  8. Mais suporte a agentes de codificação além do Claude — Codex, OpenCode, Cline, Kiro e outros como executores de chat/MCP, não apenas um único hardcoded.

Trabalhando no Mnemos

  • AGENTS.md — arquitetura, invariantes não óbvios e coisas que parecem bugs mas não são, para contribuidores humanos e agentes de IA
  • CONTRIBUTING.md — fluxo de desenvolvimento, verificação, expectativas de PR
  • CODE_OF_CONDUCT.md
  • SECURITY.md — como relatar uma vulnerabilidade em privado

Licença

AGPL-3.0. Se você executar uma versão modificada do Mnemos como um serviço de rede, você é obrigado a disponibilizar o código-fonte das suas modificações aos seus usuários — veja a licença para os termos exatos.