39 pontos por arsture 2026-04-03 | 15 comentários | Compartilhar no WhatsApp

Sou um universitário que gosta de desenvolver. Sempre que eu pedia algo para uma IA, a digitação virava um gargalo, então fui procurar entrada por voz e, no começo, usei o Superwhisper. Não era ruim, mas como não era voltado especificamente para coreano, errava palavras o tempo todo.

  • Quando eu dizia "Subi um PR no GitHub" → transcrevia algo como "Subi um pul no GitHub"
  • A latência era boa, mas a taxa de reconhecimento era frustrante

Pagando melhorava um pouco. Mas como sou universitário, estava sem grana... e não queria pagar.

→ Então tentei implementar com STT local e LLM, mas ficou lento demais.
→ Aí percebi que eu já assino o GPT, então dava para “pegar emprestado” um LLM via OAuth, e usar STT com algo como o Groq por um custo quase zero.

Nessa direção, criei um app pessoal para macOS em Swift.

Funcionamento principal: aperte a hotkey e fale, então STT → correção por LLM → colagem automática na posição original do cursor.
É de 3 a 5 vezes mais rápido que digitar e, mesmo que eu tenha olhado outra janela durante a gravação, ele lembra a posição de foco inicial e insere exatamente ali.


Diferença em relação aos apps de digitação por voz existentes

Os apps atuais param em STT → colar, mas o Whispree adiciona uma camada de correção por LLM depois do STT. Não encontrei apps comerciais focados especificamente em coreano.

"밸리데이션 해야 되거든"  →  "validation 해야 되거든"  
"랙트 컴포넌트"        →  "React 컴포넌트"  
"깃헙에 펄 올려놨어"   →  "GitHub에 PR 올려놨어"  

Depois que terminei, fiquei bastante satisfeito e continuei usando enquanto adicionava mais recursos.

Structured Mode

Usando entrada por voz com IA o tempo todo, percebi que eu falava de forma mais desorganizada do que imaginava. Entravam muitos “e aí”, “hum” e coisas assim. Então pensei que seria ótimo se o LLM fizesse uma pós-correção e estruturasse tudo em bullet points, e foi assim que criei isso.
Quando estou despejando ideias de planejamento, aperto a hotkey e vou falando sem parar, e ele insere um prompt já organizado.

Visual Context

Só com a fala, o LLM às vezes não entendia o contexto e fazia correções sem sentido. Então decidi capturar automaticamente a tela que estou vendo durante a gravação.

  • No começo eu incluía só a tela em foco, mas na prática eu gravava enquanto também olhava outras abas
  • Então expandi para capturar todas as abas
  • Ao trocar de aba, ele captura imediatamente a aba anterior; se eu parar 1,5 segundo na mesma tela, captura aquele momento
  • Também adicionei a função de colar screenshots diretamente no prompt

Quick Fix (Ctrl+Shift+D)

Registra imediatamente palavras erradas no dicionário de correção. Isso melhora a taxa de reconhecimento. Também criei o recurso de dicionário de palavras e, por preguiça, transformei em hotkey.


Quase de graça

  • STT: API da Groq (gratuita)
  • Correção por LLM: usa diretamente o token de autenticação do Codex CLI. Se você já tiver uma conta OpenAI, quase não há custo adicional
  • Também é possível usar só localmente: se você não tiver uma conta com assinatura do Codex, pode usar modelos locais. Mas, nesse caso, a DX provavelmente vai ser melhor usando um modelo leve do Qwen ou apenas STT...

Providers & modos

  • STT: 3 opções — WhisperKit / Groq / MLX Audio
  • LLM: 6 modelos locais (Qwen, GLM) + 5 da OpenAI
  • Modos de correção: 4 tipos — Standard / Filler Removal / Structured / Custom
  • O recurso Can I Run dentro do app permite verificar o nível de compatibilidade com o seu dispositivo

Instalação

brew tap Arsture/whispree && brew install --cask whispree  

É exclusivo para macOS 14+ (Sonoma) e Apple Silicon. Como no começo eu fiz só para mim, criei para macOS, e ainda não há suporte para outras plataformas.


No começo, o nome era FreeWhisper. Afinal, eu só queria usar de graça para mim mesmo. Mas, quando resolvi abrir o código, FreeWhisper pareceu meio sem graça. Também pensei em "NotMyWhisper", por causa da ideia de pegar emprestada uma API key. Tinha um clima meio “gato emprestado”, e eu gostei disso. Mas, conforme fui usando, comecei a sentir algo como “isso não é o whisper de outra pessoa, é o meu whisper”, e no fim virou Whispree.

É open source sob a licença MIT. Feedbacks são bem-vindos.

GitHub: https://github.com/Arsture/whispree

15 comentários

 
grollcake 15 일 전

Voltei a usar depois de um bom tempo e ele evoluiu bastante nesse meio-tempo.
Mas tem uma coisa que eu gostaria que melhorasse.
O recurso de contexto visual é muito bom. Só que é meio incômodo mostrar a tela capturada toda vez que a gravação termina. Dá para cancelar só apertando ESC, mas eu preferia que nem aparecesse.
Se a ideia é colar a tela que foi capturada durante a gravação, que tal complementar isso com uma função para reencontrar a captura depois que terminar?

 
arsture 14 일 전

Enquanto estiver gravando, se você mantiver pressionada a tecla Option esquerda, o contexto ainda será enviado, mas você pode desativar a colagem!

Será que é esse recurso que você quis dizer??

 
grollcake 6 일 전

Não. Eu uso apenas a função de transcrição. Mas é incômodo aparecer a lista de capturas de tela toda vez que a gravação termina, então eu queria poder desativar isso.
Se eu pressionar a tecla Option, ela não aparece. Mas, no meu padrão de uso, isso também é um pouco inconveniente. Acho que muitas pessoas devem ter um incômodo parecido. Seria possível refletir isso na opção principal?

 
arsture 6 일 전

Ah, como opção principal isso provavelmente fica desativado por padrão, mas se você estiver em uma versão anterior, talvez essa mudança não tenha sido aplicada ainda!

No app whispree -> LLM -> Contexto de screenshot -> Enviar para o agente, você pode desativar explicitamente deixando em Off!

Sobre a parte do seu padrão de uso que está incômoda, não consegui entender com clareza por aqui, talvez porque não dê para anexar imagens aqui T_T
Se tudo bem para você, poderia abrir uma issue no GitHub? Aí vou tentar entender o contexto o máximo possível e refletir isso.

 
grollcake 2 일 전

Obrigado. Como hoje não estava aparecendo, fiquei me perguntando o motivo, mas então era porque vocês tinham atualizado a funcionalidade.
Agradeço pelo feedback rápido.

 
bskim 2026-04-04

Eu sentia falta de alguns pontos ao usar o Handy, então isso parece ótimo. Vou trocar e usar por enquanto.

 
arsture 2026-04-04

Obrigado! Feedback é sempre bem-vindo!

 
vkehfdl1 2026-04-04

Muito bom :) Torcendo por vocês.

 
arsture 2026-04-04

Obrigado :)

 
zihado 2026-04-06

Parece que há um bug na configuração dos atalhos.

 
arsture 2026-04-06

Nossa, será que eu poderia perguntar que tipo de bug é?

 
zihado 2026-04-06

Nem dá para configurar os atalhos e, se eu redefinir, os atalhos simplesmente desaparecem de vez.

 
arsture 2026-04-06

Será que a permissão de Accessibility está configurada?
Se ainda não estiver, adicione o app Whispree em Accessibility, tente configurar o atalho novamente e, se puder, nos avise!

 
grollcake 2026-04-05

Usei uma vez e é excelente. Torço por vocês.

 
arsture 2026-04-06

Obrigado!