u/Consistent-Arm-3878

▲ 3 r/brdev

r/brdev 👋

Eu estava tentando melhorar o meu vocabulário em inglês enquanto lia conteúdo online — e todas as ferramentas que encontrei tinham o mesmo problema: copiar/colar, trocar de aba e escrever frase manualmente - além de toda a burocracia para conectar um TTS, processar o texto e anexar no Anki.

Então eu construí o Hermes.

https://preview.redd.it/9oi04ksb01yg1.png?width=1919&format=png&auto=webp&s=55bb76a96fb3dbcf426d4773691172c9917d972f

https://preview.redd.it/5y23tvyi01yg1.png?width=1917&format=png&auto=webp&s=d5423153f2a358655388a6403d2016316d3a73f0

https://preview.redd.it/vt763suj01yg1.png?width=1918&format=png&auto=webp&s=55ec09e4a0a76f18e80ca78fc6ca2fd74c244a58

https://preview.redd.it/oeq35aik01yg1.png?width=1919&format=png&auto=webp&s=a046ad57b38f841b0b4d0bec55f0b17784c1eed8

https://preview.redd.it/6xksh4lo01yg1.png?width=1919&format=png&auto=webp&s=50f37e67de156812900d43e7790b6e5d5236be25

O que ele faz

Você destaca qualquer palavra ou frase em qualquer página. O Hermes mostra um botão de “+”. Clicou, escolhe um modo:

  • Generate — você passa um termo e um LLM gera uma frase natural de 12–22 palavras usando ele
  • Verbatim — mantém exatamente a frase que você selecionou e só traduz

Depois disso, ele:

  • Traduz para o seu idioma fluente
  • Gera áudio de pronúncia via TTS (com suporte à voz via ElevenLabs ou nativa do browser)
  • Salva o card

Terminou de ler? Clica em Export — ele gera um .apkg real pra importar direto no Anki.

Sem copy-paste, sem escrever frase na mão, sem exemplo meia boca.

Partes interessantes

🧩 Painel dentro da página
Ao clicar na extensão, abre um painel na própria aba ativa.
Tem três abas: Library, Archive, Queue.

🌍 Multi-idioma
Você define o par Learning + Fluent. Funciona com:
Inglês, Português (BR/PT), Espanhol, Francês, Alemão, Italiano, Holandês, Japonês, Coreano, Chinês (simplificado/tradicional), Russo, Polonês, Turco, Árabe.
O prompt do agente é gerado com base nesse par.

🔑 Sua própria chave de LLM
Gemini / OpenAI / Anthropic / OpenRouter.
Salvo em chrome.storage.local, não sincroniza.
Sem servidor intermediário — vai direto pro provider que você configurou.

📦 Export .apkg de verdade
Usando sql.js + JSZip, com note type próprio.
Reimportar atualiza os cards via GUID determinístico (sem duplicar).

🔊 Cache de áudio
TTS indexado por (texto, voz, provider) — reexportar não gera custo de novo.

Stack

  • Vite + crxjs
  • React 19
  • Manifest V3 (service worker + offscreen document pro agente com LangChain + sql.js + JSZip)
  • Dexie / IndexedDB

Repo

https://github.com/eliasbiondo/hermes

MIT • sem telemetry • sem analytics

Ainda não publiquei na Chrome Web Store — quero melhorar mais o suporte multi-idioma antes.

Se alguém testar, feedback é mais que bem-vindo 👀

u/Consistent-Arm-3878 — 15 days ago